From c5fc902fb3aa45422d7efb5728d12b0e31b0ff8c Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Fri, 22 Nov 2019 11:48:52 +0300 Subject: [PATCH] feat(permissin-guard): add a handling permission condition --- .../packages/core/src/lib/guards/permission.guard.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/npm/ng-packs/packages/core/src/lib/guards/permission.guard.ts b/npm/ng-packs/packages/core/src/lib/guards/permission.guard.ts index ca69eb127d..97c6c3ebc8 100644 --- a/npm/ng-packs/packages/core/src/lib/guards/permission.guard.ts +++ b/npm/ng-packs/packages/core/src/lib/guards/permission.guard.ts @@ -2,9 +2,10 @@ import { Injectable } from '@angular/core'; import { ActivatedRouteSnapshot, CanActivate } from '@angular/router'; import { Store } from '@ngxs/store'; import { Observable } from 'rxjs'; -import { ConfigState } from '../states'; import { tap } from 'rxjs/operators'; +import snq from 'snq'; import { RestOccurError } from '../actions'; +import { ConfigState } from '../states'; @Injectable({ providedIn: 'root', @@ -13,7 +14,7 @@ export class PermissionGuard implements CanActivate { constructor(private store: Store) {} canActivate({ data }: ActivatedRouteSnapshot): Observable { - const resource = data.requiredPolicy as string; + const resource = snq(() => data.routes.requiredPolicy) || (data.requiredPolicy as string); return this.store.select(ConfigState.getGrantedPolicy(resource)).pipe( tap(access => { if (!access) {