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

36 lines (35 loc) 1.07 kB
export declare const REGISTER_USER_KEY = "rbac_register_user"; export interface RegisterUserOptions { userExtractor?: (body: any, user?: any) => { user_id: string; name?: string; email?: string; }; } /** * NestJS decorator that marks a route for automatic user registration in the RBAC system. * Automatically assigns default role if configured and calls registration hooks. * * @param options - Optional user data extractor function * @returns Method decorator * * @example * ```typescript * // Default extraction from request body * @Post('signup') * @RegisterUser() * createUser(@Body() userData: CreateUserDto) { ... } * * // Custom user data extraction * @Post('signup') * @RegisterUser({ * userExtractor: (body, user) => ({ * user_id: body.id, * name: body.fullName, * email: body.emailAddress * }) * }) * createUser(@Body() userData: CreateUserDto) { ... } * ``` */ export declare const RegisterUser: (options?: RegisterUserOptions) => import("@nestjs/common").CustomDecorator<string>;