UNPKG

@bitwild/rockets-auth

Version:

Rockets Auth - Complete authentication and authorization solution for NestJS with JWT, OAuth, OTP, role-based access control, and more

136 lines 6.4 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var RocketsAuthRoleAdminModule_1; Object.defineProperty(exports, "__esModule", { value: true }); exports.RocketsAuthRoleAdminModule = void 0; const nestjs_crud_1 = require("@concepta/nestjs-crud"); const common_1 = require("@nestjs/common"); const swagger_1 = require("@nestjs/swagger"); const rockets_auth_role_update_dto_1 = require("../dto/rockets-auth-role-update.dto"); const rockets_auth_role_dto_1 = require("../dto/rockets-auth-role.dto"); const admin_guard_1 = require("../../../guards/admin.guard"); const rockets_auth_constants_1 = require("../../../shared/constants/rockets-auth.constants"); const class_transformer_1 = require("class-transformer"); const admin_user_roles_controller_1 = require("../controllers/admin-user-roles.controller"); const rockets_auth_role_create_dto_1 = require("../dto/rockets-auth-role-create.dto"); let RocketsAuthRoleAdminModule = RocketsAuthRoleAdminModule_1 = class RocketsAuthRoleAdminModule { static register(admin) { var _a, _b; const ModelDto = admin.model || rockets_auth_role_dto_1.RocketsAuthRoleDto; const UpdateDto = ((_a = admin.dto) === null || _a === void 0 ? void 0 : _a.updateOne) || rockets_auth_role_update_dto_1.RocketsAuthRoleUpdateDto; const CreateDto = ((_b = admin.dto) === null || _b === void 0 ? void 0 : _b.createOne) || rockets_auth_role_create_dto_1.RocketsAuthRoleCreateDto; let PaginatedDto = class PaginatedDto extends nestjs_crud_1.CrudResponsePaginatedDto { constructor() { super(...arguments); this.data = []; } }; __decorate([ (0, class_transformer_1.Expose)(), (0, swagger_1.ApiProperty)({ type: ModelDto, isArray: true, description: 'Array of Roles', }), (0, class_transformer_1.Type)(() => ModelDto), __metadata("design:type", Array) ], PaginatedDto.prototype, "data", void 0); PaginatedDto = __decorate([ (0, class_transformer_1.Exclude)() ], PaginatedDto); const builder = new nestjs_crud_1.ConfigurableCrudBuilder({ service: { adapter: admin.adapter, injectionToken: rockets_auth_constants_1.ADMIN_ROLE_CRUD_SERVICE_TOKEN, }, controller: { path: admin.path || 'admin/roles', model: { type: ModelDto, paginatedType: PaginatedDto, }, extraDecorators: [ (0, swagger_1.ApiTags)('admin'), (0, common_1.UseGuards)(admin_guard_1.AdminGuard), (0, swagger_1.ApiBearerAuth)(), ], }, getMany: {}, getOne: {}, createOne: { dto: CreateDto, }, updateOne: { dto: UpdateDto, }, deleteOne: {}, }); const { ConfigurableControllerClass, ConfigurableServiceClass, CrudUpdateOne, } = builder.build(); class AdminRoleCrudService extends ConfigurableServiceClass { } class AdminRoleCrudController extends ConfigurableControllerClass { async updateOne(crudRequest, updateDto) { const pipe = new common_1.ValidationPipe({ transform: true, skipMissingProperties: true, forbidUnknownValues: true, }); await pipe.transform(updateDto, { type: 'body', metatype: UpdateDto }); return super.updateOne(crudRequest, updateDto); } } __decorate([ CrudUpdateOne, (0, swagger_1.ApiOperation)({ summary: 'Update role', description: 'Updates role information', }), (0, swagger_1.ApiBody)({ type: UpdateDto, description: 'Role information to update', }), (0, swagger_1.ApiOkResponse)({ description: 'Role updated successfully', type: ModelDto, }), (0, swagger_1.ApiResponse)({ status: 400, description: 'Bad request - Invalid input data', }), (0, swagger_1.ApiResponse)({ status: 401, description: 'Unauthorized - User not authenticated', }), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, void 0]), __metadata("design:returntype", Promise) ], AdminRoleCrudController.prototype, "updateOne", null); return { module: RocketsAuthRoleAdminModule_1, imports: [...(admin.imports || [])], controllers: [AdminRoleCrudController, admin_user_roles_controller_1.AdminUserRolesController], providers: [ admin.adapter, AdminRoleCrudService, { provide: rockets_auth_constants_1.ADMIN_ROLE_CRUD_SERVICE_TOKEN, useClass: AdminRoleCrudService, }, ], exports: [AdminRoleCrudService, admin.adapter], }; } }; exports.RocketsAuthRoleAdminModule = RocketsAuthRoleAdminModule; exports.RocketsAuthRoleAdminModule = RocketsAuthRoleAdminModule = RocketsAuthRoleAdminModule_1 = __decorate([ (0, common_1.Module)({}) ], RocketsAuthRoleAdminModule); //# sourceMappingURL=rockets-auth-role-admin.module.js.map