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) {