fix(tasks): allow self-referencing userId filter for non-privileged users

Advocates could not filter their own task list by client because the
/api/tasks endpoint treated any userId query param as a request to
view another user's tasks, rejecting non-Admin/Manager callers with
403 even when userId matched their own session id.
This commit is contained in:
lorentz 2026-07-07 00:48:00 +00:00
parent b1b0dfa64d
commit db37313631

View file

@ -81,7 +81,8 @@ export async function GET(request: NextRequest) {
} }
if (viewUserId) { if (viewUserId) {
const userRoles = (session.user as any).roles || [] const userRoles = (session.user as any).roles || []
if (!userRoles.includes('Admin') && !userRoles.includes('Manager')) { const isSelf = viewUserId === (session.user as any).id
if (!isSelf && !userRoles.includes('Admin') && !userRoles.includes('Manager')) {
return NextResponse.json({ error: 'Forbidden' }, { status: 403 }) return NextResponse.json({ error: 'Forbidden' }, { status: 403 })
} }
where.assignments = { some: { userId: viewUserId } } where.assignments = { some: { userId: viewUserId } }