@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
32 lines (31 loc) • 1.01 kB
TypeScript
export declare const PERMISSIONS_KEY = "rbac_permissions";
export interface PermissionOptions {
feature?: string;
permission?: string;
}
/**
* NestJS decorator that marks a route or class for RBAC permission checking.
* Can auto-infer permissions from the route path or use explicitly provided options.
*
* @param options - Optional feature and permission specification
* @returns Method decorator
*
* @example
* ```typescript
* // Auto-inferred permissions from route path
* @Get('billing/invoices')
* @CheckPermissions()
* getInvoices() { ... }
*
* // Explicit permissions
* @Post('admin/reset')
* @CheckPermissions({ feature: 'admin', permission: 'sudo' })
* resetSystem() { ... }
*
* // Class-level permissions (applied to all methods)
* @Controller('billing')
* @CheckPermissions({ feature: 'billing' })
* export class BillingController { ... }
* ```
*/
export declare const CheckPermissions: (options?: PermissionOptions) => import("@nestjs/common").CustomDecorator<string>;