Guest User

Untitled

a guest
Sep 10th, 2017
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import { IPermissionVoter } from '../definitions/security.interfaces';
  2.  
  3. export class PermissionCheckerService {
  4.     /**
  5.      * @type {IPermissionVoter[]}
  6.      */
  7.     voters: Array<IPermissionVoter> = [];
  8.  
  9.     /**
  10.      * @param {string} permission
  11.      * @param resource
  12.      * @returns {boolean}
  13.      */
  14.     public isGranted = (permission: string, resource: any): boolean => {
  15.         let positiveCheck = 0;
  16.         let negativeCheck = 0;
  17.         console.log(this.voters);
  18.         this.voters.forEach((checker: IPermissionVoter) => {
  19.             if (true === checker.supports(permission, resource)) {
  20.                 true === checker.isGranted(permission, resource) ? positiveCheck++ : negativeCheck++;
  21.             }
  22.         });
  23.  
  24.         return negativeCheck === 0 && positiveCheck > 0;
  25.     }
  26. }
Advertisement
Add Comment
Please, Sign In to add comment