From 67ed3bb372b6e920179da437bc084cac69f336fb Mon Sep 17 00:00:00 2001 From: Alper Ebicoglu Date: Tue, 19 Nov 2019 11:33:51 +0300 Subject: [PATCH 1/2] Update Index.md --- docs/en/Modules/Index.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/en/Modules/Index.md b/docs/en/Modules/Index.md index bd608c4528..9d1c1d301f 100644 --- a/docs/en/Modules/Index.md +++ b/docs/en/Modules/Index.md @@ -19,8 +19,7 @@ There are some **free and open source** application modules developed and mainta * **Identity**: Used to manage roles, users and their permissions. * **Identity Server**: Integrates to IdentityServer4. * **Permission Management**: Used to persist permissions. -* **[Setting Management](Setting-Management.md)**: Used to persist -and manage the [settings](../Settings.md). +* **[Setting Management](Setting-Management.md)**: Used to persist and manage the [settings](../Settings.md). * **Tenant Management**: Used to manage tenants for a [multi-tenant](../Multi-Tenancy.md) application. * **Users**: Used to abstract users, so other modules can depend on this instead of the Identity module. From c5fc902fb3aa45422d7efb5728d12b0e31b0ff8c Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Fri, 22 Nov 2019 11:48:52 +0300 Subject: [PATCH 2/2] 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) {