UNPKG

@mamoorali295/rbac

Version:

Complete RBAC (Role-Based Access Control) system for Node.js with Express middleware, NestJS integration, GraphQL support, MongoDB & PostgreSQL support, modern admin dashboard, TypeScript support, and dynamic permission management

33 lines (32 loc) 1.02 kB
import { CanActivate, ExecutionContext } from '@nestjs/common'; import { Reflector } from '@nestjs/core'; /** * NestJS guard that checks RBAC permissions for protected routes. * Uses the @CheckPermissions decorator to determine required permissions. * Can auto-infer permissions from route paths or use explicit configuration. * * @example * ```typescript * // Apply globally * app.useGlobalGuards(new PermissionsGuard(reflector)); * * // Apply to specific controllers * @Controller('billing') * @UseGuards(PermissionsGuard) * export class BillingController { ... } * * // Apply to specific routes * @Get('invoices') * @UseGuards(PermissionsGuard) * @CheckPermissions() * getInvoices() { ... } * ``` */ export declare class PermissionsGuard implements CanActivate { private reflector; constructor(reflector: Reflector); canActivate(context: ExecutionContext): Promise<boolean>; private getUserIdentity; private getFeatureAndPermission; private inferFeatureAndPermission; }