"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; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.IdentityModule = void 0; const common_1 = require("@nestjs/common"); const users_controller_1 = require("./presentation/controllers/users.controller"); const roles_controller_1 = require("./presentation/controllers/roles.controller"); const permissions_controller_1 = require("./presentation/controllers/permissions.controller"); const prisma_service_1 = require("../../shared/prisma.service"); const user_service_1 = require("./application/services/user.service"); const prisma_user_repository_1 = require("./infrastructure/repositories/prisma-user.repository"); const user_interface_1 = require("./domain/repositories/user.interface"); const jwt_auth_guard_1 = require("../../core/auth/guards/jwt-auth.guard"); const permission_guard_1 = require("../authorization/presentation/guards/permission.guard"); const core_1 = require("@nestjs/core"); const sync_identity_handler_1 = require("./application/handlers/user/sync-identity.handler"); const current_user_guard_1 = require("./presentation/guards/current-user.guard"); const prisma_role_repository_1 = require("./infrastructure/repositories/prisma-role.repository"); const prisma_permission_repository_1 = require("./infrastructure/repositories/prisma-permission.repository"); const role_interface_1 = require("./domain/repositories/role.interface"); const permission_interface_1 = require("./domain/repositories/permission.interface"); const i_auth_config_1 = require("./application/config/i-auth-config"); const env_auth_config_1 = require("./application/config/env-auth-config"); const auth_module_1 = require("../auth/auth.module"); const authorization_module_1 = require("../authorization/authorization.module"); const get_users_handler_1 = require("./application/handlers/user/get-users.handler"); const get_user_handler_1 = require("./application/handlers/user/get-user.handler"); const get_current_user_handler_1 = require("./application/handlers/user/get-current-user.handler"); const enable_user_handler_1 = require("./application/handlers/user/enable-user.handler"); const disable_user_handler_1 = require("./application/handlers/user/disable-user.handler"); const delete_user_handler_1 = require("./application/handlers/user/delete-user.handler"); const restore_user_handler_1 = require("./application/handlers/user/restore-user.handler"); const update_user_handler_1 = require("./application/handlers/user/update-user.handler"); const get_roles_handler_1 = require("./application/handlers/role/get-roles.handler"); const get_role_handler_1 = require("./application/handlers/role/get-role.handler"); const create_role_handler_1 = require("./application/handlers/role/create-role.handler"); const update_role_handler_1 = require("./application/handlers/role/update-role.handler"); const delete_role_handler_1 = require("./application/handlers/role/delete-role.handler"); const assign_permission_handler_1 = require("./application/handlers/role/assign-permission.handler"); const remove_permission_handler_1 = require("./application/handlers/role/remove-permission.handler"); const get_permissions_handler_1 = require("./application/handlers/permission/get-permissions.handler"); const get_permission_handler_1 = require("./application/handlers/permission/get-permission.handler"); const create_permission_handler_1 = require("./application/handlers/permission/create-permission.handler"); const update_permission_handler_1 = require("./application/handlers/permission/update-permission.handler"); const delete_permission_handler_1 = require("./application/handlers/permission/delete-permission.handler"); let IdentityModule = class IdentityModule { }; exports.IdentityModule = IdentityModule; exports.IdentityModule = IdentityModule = __decorate([ (0, common_1.Module)({ imports: [auth_module_1.AuthModule, authorization_module_1.AuthorizationModule], providers: [ //#region User // CreateUserHandler has been removed: provisioning disabled; users must be created in Authentik. sync_identity_handler_1.SyncIdentityHandler, get_users_handler_1.GetUsersHandler, get_user_handler_1.GetUserHandler, get_current_user_handler_1.GetCurrentUserHandler, enable_user_handler_1.EnableUserHandler, disable_user_handler_1.DisableUserHandler, delete_user_handler_1.DeleteUserHandler, restore_user_handler_1.RestoreUserHandler, update_user_handler_1.UpdateUserHandler, //#endregion // role & permission handlers get_roles_handler_1.GetRolesHandler, get_role_handler_1.GetRoleHandler, create_role_handler_1.CreateRoleHandler, update_role_handler_1.UpdateRoleHandler, delete_role_handler_1.DeleteRoleHandler, assign_permission_handler_1.RoleAssignPermissionHandler, remove_permission_handler_1.RoleRemovePermissionHandler, get_permissions_handler_1.GetPermissionsHandler, get_permission_handler_1.GetPermissionHandler, create_permission_handler_1.CreatePermissionHandler, update_permission_handler_1.UpdatePermissionHandler, delete_permission_handler_1.DeletePermissionHandler, jwt_auth_guard_1.JwtAuthGuard, current_user_guard_1.CurrentUserGuard, permission_guard_1.PermissionGuard, core_1.Reflector, prisma_service_1.PrismaService, prisma_user_repository_1.PrismaUserRepository, prisma_role_repository_1.PrismaRoleRepository, prisma_permission_repository_1.PrismaPermissionRepository, user_service_1.UserService, update_user_handler_1.UpdateUserHandler, { provide: user_interface_1.IUser, useClass: prisma_user_repository_1.PrismaUserRepository, }, { provide: role_interface_1.IRole, useClass: prisma_role_repository_1.PrismaRoleRepository, }, { provide: permission_interface_1.IPermission, useClass: prisma_permission_repository_1.PrismaPermissionRepository, }, { provide: i_auth_config_1.IAuthConfig, useClass: env_auth_config_1.EnvAuthConfig, }, ], exports: [sync_identity_handler_1.SyncIdentityHandler, current_user_guard_1.CurrentUserGuard], controllers: [users_controller_1.UsersController, roles_controller_1.RolesController, permissions_controller_1.PermissionsController], }) ], IdentityModule); //# sourceMappingURL=identity.module.js.map