forked from Yara724/api
35 lines
1.3 KiB
TypeScript
35 lines
1.3 KiB
TypeScript
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 {}
|