ngx-permissions
Version:
Permission and roles based access control for your angular(angular 2,4,5,6,7,8+) applications(AOT, lazy modules compatible)
33 lines (32 loc) • 1.47 kB
TypeScript
import { InjectionToken } from '@angular/core';
import { Observable } from 'rxjs';
import { NgxPermission } from '../model/permission.model';
import { ValidationFn } from '../model/permissions-router-data.model';
import { NgxPermissionsStore } from '../store/permissions.store';
import * as i0 from "@angular/core";
export interface NgxPermissionsObject {
[name: string]: NgxPermission;
}
export declare const USE_PERMISSIONS_STORE: InjectionToken<unknown>;
export declare class NgxPermissionsService {
private isolate;
private permissionsStore;
private permissionsSource;
permissions$: Observable<NgxPermissionsObject>;
constructor(isolate: boolean, permissionsStore: NgxPermissionsStore);
/**
* Remove all permissions from permissions source
*/
flushPermissions(): void;
hasPermission(permission: string | string[]): Promise<boolean>;
loadPermissions(permissions: string[], validationFunction?: ValidationFn): void;
addPermission(permission: string | string[], validationFunction?: ValidationFn): void;
removePermission(permissionName: string): void;
getPermission(name: string): NgxPermission | undefined;
getPermissions(): NgxPermissionsObject;
private reducePermission;
private hasArrayPermission;
private hasPermissionValidationFunction;
static ɵfac: i0.ɵɵFactoryDeclaration<NgxPermissionsService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<NgxPermissionsService>;
}