ngx-permissions
Version:
Permission and roles based access control for your angular(angular 2,4,5,6,7,8+) applications(AOT, lazy modules compatible)
38 lines (37 loc) • 1.53 kB
TypeScript
import { InjectionToken } from '@angular/core';
import { Observable } from 'rxjs';
import { ValidationFn } from '../model/permissions-router-data.model';
import { NgxRole } from '../model/role.model';
import { NgxRolesStore } from '../store/roles.store';
import { NgxPermissionsService } from './permissions.service';
import * as i0 from "@angular/core";
export declare const USE_ROLES_STORE: InjectionToken<unknown>;
export interface NgxRolesObject {
[name: string]: NgxRole;
}
export declare class NgxRolesService {
private isolate;
private rolesStore;
private permissionsService;
private rolesSource;
roles$: Observable<NgxRolesObject>;
constructor(isolate: boolean, rolesStore: NgxRolesStore, permissionsService: NgxPermissionsService);
addRole(name: string, validationFunction: ValidationFn | string[]): void;
addRoleWithPermissions(name: string, permissions: string[]): void;
addRoles(rolesObj: {
[name: string]: ValidationFn | string[];
}): void;
addRolesWithPermissions(rolesObj: {
[name: string]: string[];
}): void;
flushRoles(): void;
flushRolesAndPermissions(): void;
removeRole(roleName: string): void;
getRoles(): NgxRolesObject;
getRole(name: string): NgxRole | undefined;
hasOnlyRoles(names: string | string[]): Promise<boolean>;
private hasRoleKey;
private hasRolePermission;
static ɵfac: i0.ɵɵFactoryDeclaration<NgxRolesService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<NgxRolesService>;
}