import { Module } from "@nestjs/common"; import { ClientModule } from "src/client/client.module"; import { SystemSettingsModule } from "src/system-settings/system-settings.module"; import { HashModule } from "src/utils/hash/hash.module"; import { UsersModule } from "src/users/users.module"; import { SuperAdminController } from "./super-admin.controller"; import { SuperAdminService } from "./super-admin.service"; import { SuperAdminGuard } from "./guards/super-admin.guard"; /** * Super-admin feature module. * * The `SuperAdminDbService` and its Mongoose model are registered in `AuthModule` * (which is `@Global()`) to keep login routing central. This module only needs * to import the other feature modules it proxies. * * Dependency chain: * SuperAdminGuard ← JwtService (global via AuthModule JwtModule) * SuperAdminService ← ActorAuthService (global), ClientService (ClientModule), * SuperAdminDbService (global via AuthModule), * FieldExpertDbService + RegistrarDbService (UsersModule) */ @Module({ imports: [ ClientModule, SystemSettingsModule, HashModule, UsersModule, ], controllers: [SuperAdminController], providers: [SuperAdminService, SuperAdminGuard], exports: [SuperAdminService, SuperAdminGuard], }) export class SuperAdminModule {}