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.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RegisterUser = exports.REGISTER_USER_KEY = void 0; const common_1 = require("@nestjs/common"); exports.REGISTER_USER_KEY = 'rbac_register_user'; /** * 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) { ... } * ``` */ const RegisterUser = (options = {}) => { return (0, common_1.SetMetadata)(exports.REGISTER_USER_KEY, options); }; exports.RegisterUser = RegisterUser;