52 lines
1.1 KiB
SQL
52 lines
1.1 KiB
SQL
-- 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;
|