|
|
|
@ -1,7 +1,7 @@ |
|
|
|
import { Injectable } from '@angular/core'; |
|
|
|
import { map, tap } from 'rxjs/operators'; |
|
|
|
import { map } from 'rxjs/operators'; |
|
|
|
import snq from 'snq'; |
|
|
|
import { ApplicationConfiguration } from '../models/application-configuration'; |
|
|
|
import { ApplicationConfigurationDto } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/models'; |
|
|
|
import { ConfigStateService } from './config-state.service'; |
|
|
|
|
|
|
|
@Injectable({ providedIn: 'root' }) |
|
|
|
@ -19,7 +19,7 @@ export class PermissionService { |
|
|
|
return this.isPolicyGranted(key, policies); |
|
|
|
} |
|
|
|
|
|
|
|
private isPolicyGranted(key: string, grantedPolicies: ApplicationConfiguration.Policy) { |
|
|
|
private isPolicyGranted(key: string, grantedPolicies: Record<string, boolean>) { |
|
|
|
if (!key) return true; |
|
|
|
|
|
|
|
const orRegexp = /\|\|/g; |
|
|
|
@ -51,11 +51,11 @@ export class PermissionService { |
|
|
|
return this.mapToPolicies(this.configState.getAll()); |
|
|
|
} |
|
|
|
|
|
|
|
private mapToPolicies(applicationConfiguration: ApplicationConfiguration.Response) { |
|
|
|
private mapToPolicies(applicationConfiguration: ApplicationConfigurationDto) { |
|
|
|
return snq(() => applicationConfiguration.auth.grantedPolicies); |
|
|
|
} |
|
|
|
|
|
|
|
private getPolicy(key: string, grantedPolicies: ApplicationConfiguration.Policy) { |
|
|
|
private getPolicy(key: string, grantedPolicies: Record<string, boolean>) { |
|
|
|
return snq(() => grantedPolicies[key], false); |
|
|
|
} |
|
|
|
} |
|
|
|
|