This commit is contained in:
oneao committed 2026-01-27 17:33:32 +08:00
1 parent 8663cb2e3d
commit 83cbf18572
34 files changed
+1938 -1350

No files matched your search

+4 -2
View File
@@ -1,6 +1,8 @@
-- 新增分享空间
-- name: InsertSpace :exec
INSERT INTO space (id,invite_code) VALUES ($1,$2);
INSERT INTO space (
id,invite_code,create_time,update_time
) VALUES ($1,$2,NOW(),NOW());
-- 删除分享空间
-- name: DeleteSpace :exec
@@ -18,6 +20,6 @@ FROM space s
ON s.id = m.space_id
WHERE m.user_id = $1;
-- 根据邀请码查询空间
-- name: FindSpaceByInviteCode :one
SELECT * FROM space WHERE invite_code = $1;
+42 -42
View File
@@ -1,51 +1,51 @@
-- 加入空间
-- 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)
VALUES ($1,$2,$3,$4);
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;
-- 删除空间下的所有用户
-- name: DeleteSpaceUserAll :exec
DELETE FROM space_user WHERE space_id = $1;
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;
-- 获取空间下的所有用户信息(按 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;
WHERE user_id = $2 AND space_id = $3;
-- 获取空间下的人数
-- name: CountUsersInSpace :one
SELECT COUNT(id)
FROM space_user
WHERE space_id = $1;