MCPcopy Index your code
hub / github.com/epicweb-dev/epic-stack / userHasPermission

Function userHasPermission

app/utils/user.ts:47–61  ·  view source on GitHub ↗
(
	user: Pick<ReturnType<typeof useUser>, 'roles'> | null | undefined,
	permission: PermissionString,
)

Source from the content-addressed store, hash-verified

45}
46
47export function userHasPermission(
48 user: Pick<ReturnType<typeof useUser>, 'roles'> | null | undefined,
49 permission: PermissionString,
50) {
51 if (!user) return false
52 const { action, entity, access } = parsePermissionString(permission)
53 return user.roles.some((role) =>
54 role.permissions.some(
55 (permission) =>
56 permission.entity === entity &&
57 permission.action === action &&
58 (!access || access.includes(permission.access)),
59 ),
60 )
61}
62
63export function userHasRole(
64 user: Pick<ReturnType<typeof useUser>, 'roles'> | null,

Callers 1

NoteRouteFunction · 0.90

Calls 1

parsePermissionStringFunction · 0.85

Tested by

no test coverage detected