-- name: ListUserSpaces :many SELECT s.id, s.name, s.invite_code, su.role FROM space s JOIN space_user su ON s.id = su.space_id WHERE su.user_id = $1; -- name: ListSpaceUsers :many SELECT u.id AS user_id, u.username AS user_name, u.avatar AS user_avatar, su.role FROM space_user su INNER JOIN "user" u ON su.user_id = u.id WHERE su.space_id = $1 ORDER BY su.role DESC, u.username ASC; -- name: HasUserInSpace :one SELECT EXISTS ( SELECT 1 FROM space_user WHERE user_id = $1 AND space_id = $2 ); -- 获取空间用户 -- name: GetSpaceUser :one SELECT * FROM space_user WHERE user_id = $1 AND space_id = $2; -- 插入空间用户 -- name: InsertSpaceUser :exec INSERT INTO space_user(id,space_id,user_id,role,join_time) VALUES ($1,$2,$3,$4,NOW()); -- 修改空间用户 -- name: DeleteSpaceUser :exec DELETE FROM space_user WHERE user_id = $1 AND space_id = $2; -- 修改角色 -- name: UpdateSpaceUserRole :exec UPDATE space_user SET role = $1 WHERE user_id = $2 AND space_id = $3; -- 获取空间下的人数 -- name: CountUsersInSpace :one SELECT COUNT(id) FROM space_user WHERE space_id = $1;