From 140f870cfc0152722c6cadaf27b2d02b2f00f9ad Mon Sep 17 00:00:00 2001 From: Vikhyath Mondreti Date: Sat, 14 Feb 2026 12:54:28 -0800 Subject: [PATCH] remove more unused code --- .../app/api/credentials/[id]/members/route.ts | 42 +++++++++++-------- apps/sim/app/api/credentials/[id]/route.ts | 15 ++----- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/apps/sim/app/api/credentials/[id]/members/route.ts b/apps/sim/app/api/credentials/[id]/members/route.ts index b76827a07..0b92a729f 100644 --- a/apps/sim/app/api/credentials/[id]/members/route.ts +++ b/apps/sim/app/api/credentials/[id]/members/route.ts @@ -188,27 +188,35 @@ export async function DELETE(request: NextRequest, context: RouteContext) { return NextResponse.json({ error: 'Member not found' }, { status: 404 }) } - if (target.role === 'admin') { - const activeAdmins = await db - .select({ id: credentialMember.id }) - .from(credentialMember) - .where( - and( - eq(credentialMember.credentialId, credentialId), - eq(credentialMember.role, 'admin'), - eq(credentialMember.status, 'active') + const revoked = await db.transaction(async (tx) => { + if (target.role === 'admin') { + const activeAdmins = await tx + .select({ id: credentialMember.id }) + .from(credentialMember) + .where( + and( + eq(credentialMember.credentialId, credentialId), + eq(credentialMember.role, 'admin'), + eq(credentialMember.status, 'active') + ) ) - ) - if (activeAdmins.length <= 1) { - return NextResponse.json({ error: 'Cannot remove the last admin' }, { status: 400 }) + if (activeAdmins.length <= 1) { + return false + } } - } - await db - .update(credentialMember) - .set({ status: 'revoked', updatedAt: new Date() }) - .where(eq(credentialMember.id, target.id)) + await tx + .update(credentialMember) + .set({ status: 'revoked', updatedAt: new Date() }) + .where(eq(credentialMember.id, target.id)) + + return true + }) + + if (!revoked) { + return NextResponse.json({ error: 'Cannot remove the last admin' }, { status: 400 }) + } return NextResponse.json({ success: true }) } catch (error) { diff --git a/apps/sim/app/api/credentials/[id]/route.ts b/apps/sim/app/api/credentials/[id]/route.ts index 182fe7d40..7da93846c 100644 --- a/apps/sim/app/api/credentials/[id]/route.ts +++ b/apps/sim/app/api/credentials/[id]/route.ts @@ -17,19 +17,12 @@ const updateCredentialSchema = z .object({ displayName: z.string().trim().min(1).max(255).optional(), description: z.string().trim().max(500).nullish(), - accountId: z.string().trim().min(1).optional(), }) .strict() - .refine( - (data) => - data.displayName !== undefined || - data.description !== undefined || - data.accountId !== undefined, - { - message: 'At least one field must be provided', - path: ['displayName'], - } - ) + .refine((data) => data.displayName !== undefined || data.description !== undefined, { + message: 'At least one field must be provided', + path: ['displayName'], + }) async function getCredentialResponse(credentialId: string, userId: string) { const [row] = await db