52 lines
1.2 KiB
SQL
52 lines
1.2 KiB
SQL
-- 加入空间
|
|
-- name: InsertSpaceUser :exec
|
|
INSERT INTO space_user(id,space_id,user_id,role)
|
|
VALUES ($1,$2,$3,$4);
|
|
|
|
-- 删除空间下的单个用户
|
|
-- name: DeleteSpaceUser :exec
|
|
DELETE FROM space_user WHERE user_id = $1;
|
|
|
|
-- 删除空间下的所有用户
|
|
-- name: DeleteSpaceUserAll :exec
|
|
DELETE FROM space_user WHERE space_id = $1;
|
|
|
|
-- 修改角色
|
|
-- name: UpdateSpaceUserRole :exec
|
|
UPDATE space_user
|
|
SET role = $1
|
|
WHERE user_id = $2
|
|
AND space_id = $3;
|
|
|
|
-- 获取空间下的所有用户信息(按 role, active_time, username 排序)
|
|
-- name: ListSpaceUsers :many
|
|
SELECT
|
|
u.id AS user_id,
|
|
u.username,
|
|
u.active_time,
|
|
su.role,
|
|
su.join_time
|
|
FROM space_user su
|
|
JOIN space s ON su.space_id = s.id
|
|
JOIN user_info u ON su.user_id = u.id
|
|
WHERE s.id = $1
|
|
ORDER BY su.role ASC,
|
|
u.active_time DESC,
|
|
u.username ASC;
|
|
|
|
-- name: GetSpaceUserByUserId :one
|
|
SELECT * FROM space_user WHERE user_id = $1;
|
|
|
|
-- name: GetUserSpaceDetail :one
|
|
SELECT
|
|
s.id AS space_id,
|
|
s.name AS space_name,
|
|
s.invite_code AS space_invite_code,
|
|
su.id AS space_user_id,
|
|
su.user_id,
|
|
su.role
|
|
FROM space_user su
|
|
JOIN space s ON su.space_id = s.id
|
|
WHERE su.user_id = $1;
|
|
|