@adonis-agora/authkit-react
Version:
Frontend ergonomics over AuthKit for AdonisJS + Inertia + React apps: a typed useAuth() hook, role-gating hooks and gating components.
25 lines (24 loc) • 642 B
JavaScript
function hasRole(arr, role) {
return arr.includes(role);
}
function hasAnyRole(arr, roles) {
return roles.some((role) => arr.includes(role));
}
function hasAllRoles(arr, roles) {
return roles.every((role) => arr.includes(role));
}
export function hasGlobalRole(user, role) {
if (!user)
return false;
return hasRole(user.globalRoles, role);
}
export function hasAnyGlobalRole(user, roles) {
if (!user)
return false;
return hasAnyRole(user.globalRoles, roles);
}
export function hasAllGlobalRoles(user, roles) {
if (!user)
return false;
return hasAllRoles(user.globalRoles, roles);
}