fix(admin): project_members use project_uuid/user_uuid column names not SeaORM field names

This commit is contained in:
ZhenYi 2026-04-22 20:53:02 +08:00
parent 4d4a0dc886
commit 623faf8c55
2 changed files with 12 additions and 12 deletions

View File

@ -20,8 +20,8 @@ export async function PATCH(
return NextResponse.json({ error: "无效的角色" }, { status: 400 });
}
const member = await query<{ id: string; scope: string; user: string }>(
`SELECT id, scope, user FROM project_members WHERE id = $1 AND project = $2`,
const member = await query<{ id: string; scope: string; user_uuid: string }>(
`SELECT id, scope, user_uuid FROM project_members WHERE id = $1 AND project_uuid = $2`,
[memberId, id]
);
if (!member.rows.length) {
@ -64,8 +64,8 @@ export async function DELETE(
const adminUserId = parseInt(req.headers.get("x-admin-user-id") || "0", 10);
const adminUsername = req.headers.get("x-admin-username") || "unknown";
const member = await query<{ id: string; scope: string; user: string }>(
`SELECT id, scope, user FROM project_members WHERE id = $1 AND project = $2`,
const member = await query<{ id: string; scope: string; user_uuid: string }>(
`SELECT id, scope, user_uuid FROM project_members WHERE id = $1 AND project_uuid = $2`,
[memberId, id]
);
if (!member.rows.length) {
@ -83,7 +83,7 @@ export async function DELETE(
action: "delete",
resource: "project_member",
resourceId: memberId,
requestParams: { projectId: id, userId: member.rows[0].user },
requestParams: { projectId: id, userId: member.rows[0].user_uuid },
ipAddress: req.headers.get("x-forwarded-for") || undefined,
userAgent: req.headers.get("user-agent") || undefined,
});

View File

@ -13,21 +13,21 @@ export async function GET(
const { id } = await params;
const result = await query(
`SELECT pm.id, pm.project, pm.user, pm.scope, pm.joined_at::text,
`SELECT pm.id, pm.project_uuid, pm.user_uuid, pm.scope, pm.joined_at::text,
u.username, u.display_name, u.avatar_url,
COALESCE(up.is_active, true) as user_is_active
FROM project_members pm
JOIN "user" u ON u.uid = pm.user
JOIN "user" u ON u.uid = pm.user_uuid
LEFT JOIN user_password up ON up.user = u.uid
WHERE pm.project = $1
WHERE pm.project_uuid = $1
ORDER BY pm.scope = 'owner' DESC, pm.scope = 'admin' DESC, pm.joined_at ASC`,
[id]
);
const members = result.rows.map((r: Record<string, unknown>) => ({
id: r.id,
projectId: r.project,
userId: r.user,
projectId: r.project_uuid,
userId: r.user_uuid,
scope: r.scope,
joinedAt: r.joined_at,
username: r.username,
@ -81,7 +81,7 @@ export async function POST(
// 检查是否已是成员
const exist = await query(
`SELECT id FROM project_members WHERE project = $1 AND user = $2`,
`SELECT id FROM project_members WHERE project_uuid = $1 AND user_uuid = $2`,
[id, body.userId]
);
if (exist.rows.length) {
@ -89,7 +89,7 @@ export async function POST(
}
const result = await query(
`INSERT INTO project_members (project, user, scope, joined_at)
`INSERT INTO project_members (project_uuid, user_uuid, scope, joined_at)
VALUES ($1, $2, $3, NOW())
RETURNING id`,
[id, body.userId, scope]