fix(admin): project_members use project_uuid/user_uuid column names not SeaORM field names
This commit is contained in:
parent
4d4a0dc886
commit
623faf8c55
@ -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,
|
||||
});
|
||||
|
||||
@ -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]
|
||||
|
||||
Loading…
Reference in New Issue
Block a user