Skip to content

Commit 1db2ab4

Browse files
waleedlatif1claude
andcommitted
fix(security): short-circuit admin check when caller is invitee
Skip the hasWorkspaceAdminAccess DB query when the caller is already the invitee, avoiding an unnecessary round-trip. Aligns with the org invitation route pattern. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 98e42d3 commit 1db2ab4

File tree

1 file changed

+5
-3
lines changed
  • apps/sim/app/api/workspaces/invitations/[invitationId]

1 file changed

+5
-3
lines changed

apps/sim/app/api/workspaces/invitations/[invitationId]/route.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -199,10 +199,12 @@ export async function GET(
199199
}
200200

201201
const isInvitee = session.user.email?.toLowerCase() === invitation.email.toLowerCase()
202-
const hasAdminAccess = await hasWorkspaceAdminAccess(session.user.id, invitation.workspaceId)
203202

204-
if (!isInvitee && !hasAdminAccess) {
205-
return NextResponse.json({ error: 'Insufficient permissions' }, { status: 403 })
203+
if (!isInvitee) {
204+
const hasAdminAccess = await hasWorkspaceAdminAccess(session.user.id, invitation.workspaceId)
205+
if (!hasAdminAccess) {
206+
return NextResponse.json({ error: 'Insufficient permissions' }, { status: 403 })
207+
}
206208
}
207209

208210
return NextResponse.json({

0 commit comments

Comments
 (0)