diff --git a/npm/ng-packs/packages/core/src/lib/services/permission.service.ts b/npm/ng-packs/packages/core/src/lib/services/permission.service.ts index eb06fad098..deb474fa08 100644 --- a/npm/ng-packs/packages/core/src/lib/services/permission.service.ts +++ b/npm/ng-packs/packages/core/src/lib/services/permission.service.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { map } from 'rxjs/operators'; +import { map, tap } from 'rxjs/operators'; import snq from 'snq'; import { ApplicationConfiguration } from '../models/application-configuration'; import { ConfigStateService } from './config-state.service'; @@ -9,7 +9,9 @@ export class PermissionService { constructor(private configState: ConfigStateService) {} getGrantedPolicy$(key: string) { - return this.getStream().pipe(map(policies => this.isPolicyGranted(key, policies))); + return this.getStream().pipe( + map(grantedPolicies => this.isPolicyGranted(key, grantedPolicies)), + ); } getGrantedPolicy(key: string) { @@ -17,7 +19,7 @@ export class PermissionService { return this.isPolicyGranted(key, policies); } - private isPolicyGranted(key: string, policies: ApplicationConfiguration.Policy) { + private isPolicyGranted(key: string, grantedPolicies: ApplicationConfiguration.Policy) { if (!key) return true; const orRegexp = /\|\|/g; @@ -29,16 +31,16 @@ export class PermissionService { if (keys.length < 2) return false; - return keys.some(k => this.getPolicy(k.trim(), policies)); + return keys.some(k => this.getPolicy(k.trim(), grantedPolicies)); } else if (andRegexp.test(key)) { const keys = key.split('&&').filter(Boolean); if (keys.length < 2) return false; - return keys.every(k => this.getPolicy(k.trim(), policies)); + return keys.every(k => this.getPolicy(k.trim(), grantedPolicies)); } - return this.getPolicy(key, policies); + return this.getPolicy(key, grantedPolicies); } private getStream() { @@ -53,7 +55,7 @@ export class PermissionService { return snq(() => applicationConfiguration.auth.grantedPolicies); } - private getPolicy(policy: string, policies: ApplicationConfiguration.Policy) { - return snq(() => policies[policy], false); + private getPolicy(key: string, grantedPolicies: ApplicationConfiguration.Policy) { + return snq(() => grantedPolicies[key], false); } }