MCPcopy
hub / github.com/epicweb-dev/epic-stack / requireUserWithRole

Function requireUserWithRole

app/utils/permissions.server.ts:43–60  ·  view source on GitHub ↗
(request: Request, name: string)

Source from the content-addressed store, hash-verified

41}
42
43export async function requireUserWithRole(request: Request, name: string) {
44 const userId = await requireUserId(request)
45 const user = await prisma.user.findFirst({
46 select: { id: true },
47 where: { id: userId, roles: { some: { name } } },
48 })
49 if (!user) {
50 throw json(
51 {
52 error: 'Unauthorized',
53 requiredRole: name,
54 message: `Unauthorized: required role: ${name}`,
55 },
56 { status: 403 },
57 )
58 }
59 return user.id
60}

Callers 4

loaderFunction · 0.90
loaderFunction · 0.90
loaderFunction · 0.90
actionFunction · 0.90

Calls 1

requireUserIdFunction · 0.90

Tested by

no test coverage detected