UNPKG

@brandazm/dynamic-permissions

Version:

A flexible and powerful permissions management system for NestJS applications with built-in security features

84 lines 4.48 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 PermissionsModule_1; Object.defineProperty(exports, "__esModule", { value: true }); exports.PermissionsModule = void 0; const common_1 = require("@nestjs/common"); const typeorm_1 = require("@nestjs/typeorm"); const config_module_1 = require("./config.module"); const security_module_1 = require("./security.module"); const config_service_1 = require("../services/config.service"); const permission_service_1 = require("../services/permission.service"); const permissions_guard_1 = require("../guards/permissions.guard"); const permission_entity_1 = require("../models/permission.entity"); const user_permission_entity_1 = require("../models/user-permission.entity"); const router_permission_entity_1 = require("../models/router-permission.entity"); const schema_validator_service_1 = require("../services/schema-validator.service"); const role_hierarchy_service_1 = require("../services/role-hierarchy.service"); const audit_service_1 = require("../services/audit.service"); const audit_log_entity_1 = require("../models/audit-log.entity"); const config_publisher_service_1 = require("../services/config-publisher.service"); const security_config_publisher_service_1 = require("../services/security-config-publisher.service"); const migration_generator_service_1 = require("../services/migration-generator.service"); const error_handling_module_1 = require("./error-handling.module"); const core_1 = require("@nestjs/core"); let PermissionsModule = PermissionsModule_1 = class PermissionsModule { static register(config, securityConfig) { const imports = [ config_module_1.ConfigModule.register(config), typeorm_1.TypeOrmModule.forFeature([ permission_entity_1.PermissionEntity, user_permission_entity_1.UserPermissionEntity, router_permission_entity_1.RouterPermissionEntity, audit_log_entity_1.AuditLogEntity, ]), security_module_1.SecurityModule, error_handling_module_1.ErrorHandlingModule, ]; return { module: PermissionsModule_1, imports, providers: [ config_service_1.ConfigService, permission_service_1.PermissionService, permissions_guard_1.PermissionsGuard, schema_validator_service_1.SchemaValidatorService, role_hierarchy_service_1.RoleHierarchyService, audit_service_1.AuditService, config_publisher_service_1.ConfigPublisherService, security_config_publisher_service_1.SecurityConfigPublisherService, migration_generator_service_1.MigrationGeneratorService, { provide: 'SECURITY_CONFIG', useValue: securityConfig, }, { provide: core_1.APP_GUARD, useClass: permissions_guard_1.PermissionsGuard, }, ], exports: [ permission_service_1.PermissionService, permissions_guard_1.PermissionsGuard, config_service_1.ConfigService, schema_validator_service_1.SchemaValidatorService, role_hierarchy_service_1.RoleHierarchyService, audit_service_1.AuditService, config_publisher_service_1.ConfigPublisherService, security_config_publisher_service_1.SecurityConfigPublisherService, migration_generator_service_1.MigrationGeneratorService, config_module_1.ConfigModule, ], }; } }; exports.PermissionsModule = PermissionsModule; exports.PermissionsModule = PermissionsModule = PermissionsModule_1 = __decorate([ (0, common_1.Module)({}) ], PermissionsModule); //# sourceMappingURL=permissions.module.js.map