Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import { IPermissionVoter } from '../definitions/security.interfaces';
- export class PermissionCheckerService {
- /**
- * @type {IPermissionVoter[]}
- */
- voters: Array<IPermissionVoter> = [];
- /**
- * @param {string} permission
- * @param resource
- * @returns {boolean}
- */
- public isGranted = (permission: string, resource: any): boolean => {
- let positiveCheck = 0;
- let negativeCheck = 0;
- console.log(this.voters);
- this.voters.forEach((checker: IPermissionVoter) => {
- if (true === checker.supports(permission, resource)) {
- true === checker.isGranted(permission, resource) ? positiveCheck++ : negativeCheck++;
- }
- });
- return negativeCheck === 0 && positiveCheck > 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment