Files
workspace/code/allapp/allapp-go/db/queries/space_user.sql
T
2026-01-27 17:33:32 +08:00

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;