Skip to content

Commit c557c07

Browse files
committed
fix(access-control): dynamic platform category columns, atomic permission group delete
1 parent ed7de17 commit c557c07

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

apps/sim/app/api/permission-groups/[id]/route.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -252,8 +252,10 @@ export async function DELETE(req: NextRequest, { params }: { params: Promise<{ i
252252
return NextResponse.json({ error: 'Admin or owner permissions required' }, { status: 403 })
253253
}
254254

255-
await db.delete(permissionGroupMember).where(eq(permissionGroupMember.permissionGroupId, id))
256-
await db.delete(permissionGroup).where(eq(permissionGroup.id, id))
255+
await db.transaction(async (tx) => {
256+
await tx.delete(permissionGroupMember).where(eq(permissionGroupMember.permissionGroupId, id))
257+
await tx.delete(permissionGroup).where(eq(permissionGroup.id, id))
258+
})
257259

258260
logger.info('Deleted permission group', { permissionGroupId: id, userId: session.user.id })
259261

apps/sim/ee/access-control/components/access-control.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -449,7 +449,11 @@ export function AccessControl() {
449449
['Settings Tabs', 'Logs'],
450450
]
451451

452-
return categoryGroups.map((column) =>
452+
const assignedCategories = new Set(categoryGroups.flat())
453+
const unassigned = Object.keys(platformCategories).filter((c) => !assignedCategories.has(c))
454+
const groups = unassigned.length > 0 ? [...categoryGroups, unassigned] : categoryGroups
455+
456+
return groups.map((column) =>
453457
column
454458
.map((category) => ({
455459
category,

0 commit comments

Comments
 (0)