ngx-permissions
Version:
Permission and roles based access control for your angular(angular 2,4,5,6,7,8+) applications(AOT, lazy modules compatible)
41 lines (40 loc) • 2.09 kB
TypeScript
import { ActivatedRouteSnapshot, CanActivateChildFn, CanActivateFn, CanMatchFn, Route, Router, RouterStateSnapshot } from '@angular/router';
import { Observable } from 'rxjs';
import { RedirectTo, RedirectToFn } from '../model/permissions-router-data.model';
import { NgxPermissionsService } from '../service/permissions.service';
import { NgxRolesService } from '../service/roles.service';
import * as i0 from "@angular/core";
export interface NgxPermissionsData {
only?: string | string[];
except?: string | string[];
redirectTo?: RedirectTo | RedirectToFn;
}
export declare const ngxPermissionsGuard: CanActivateFn | CanActivateChildFn | CanMatchFn;
/**
* @deprecated Use {@link ngxPermissionsGuard} instead
*/
export declare class NgxPermissionsGuard {
private permissionsService;
private rolesService;
private router;
constructor(permissionsService: NgxPermissionsService, rolesService: NgxRolesService, router: Router);
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise<boolean> | boolean;
canActivateChild(childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean;
canLoad(route: Route): boolean | Observable<boolean> | Promise<boolean>;
canMatch(route: Route): boolean | Observable<boolean> | Promise<boolean>;
hasPermissions(route: ActivatedRouteSnapshot | Route, state?: RouterStateSnapshot): true | Promise<boolean>;
private transformPermission;
private isParameterAvailable;
private passingExceptPermissionsValidation;
private redirectToAnotherRoute;
private isRedirectionWithParameters;
private transformNavigationCommands;
private transformNavigationExtras;
private onlyRedirectCheck;
private handleRedirectOfFailedPermission;
private isFailedPermissionPropertyOfRedirectTo;
private checkOnlyPermissions;
private passingOnlyPermissionsValidation;
static ɵfac: i0.ɵɵFactoryDeclaration<NgxPermissionsGuard, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<NgxPermissionsGuard>;
}