educt-server/app/Helpers/RoleHelper.ts

29 lines
816 B
TypeScript

import RoleEnum from 'App/Datatypes/Enums/RoleEnum';
import type Role from 'App/Models/Role';
export default class RoleHelper {
/**
* If the user roles is not found in the array of roles
* then return false
*
* @param userRoles Roles of existing user
* @param roles Roles to check
* @returns boolean
*/
public static userHasRoles(userRoles: Role[], roles: RoleEnum[]): boolean {
for (let i = 0; i < roles.length; i += 1) {
if (!userRoles.map(r => r.slug).includes(roles[i])) {
/**
* Unable to find current role in user roles
*/
return false;
}
}
return true;
}
public static userContainRoles(userRoles: Role[], roles: RoleEnum[]): boolean {
return userRoles.map(r => r.slug as RoleEnum).some(r => roles.includes(r));
}
}