import { forwardRef, Module } from "@nestjs/common"; import { MongooseModule } from "@nestjs/mongoose"; import { MulterModule } from "@nestjs/platform-express"; import { ClaimRequestManagementModule } from "src/claim-request-management/claim-request-management.module"; import { ClientModule } from "src/client/client.module"; import { PlatesModule } from "src/plates/plates.module"; import { BlameVideoDbService } from "src/request-management/entities/db-service/blame-video.db.service"; import { RequestManagementDbService } from "src/request-management/entities/db-service/request-management.db.service"; import { BlameRequestDbService } from "src/request-management/entities/db-service/blame-request.db.service"; import { SandHubModule } from "src/sand-hub/sand-hub.module"; import { UsersModule } from "src/users/users.module"; import { CronModule } from "src/utils/cron/cron.module"; import { PublicIdModule } from "src/utils/public-id/public-id.module"; import { HashModule } from "src/utils/hash/hash.module"; import { SmsOrchestrationModule } from "src/sms-orchestration/sms-orchestration.module"; import { WorkflowStepManagementModule } from "src/workflow-step-management/workflow-step-management.module"; import { AuthModule } from "src/auth/auth.module"; import { MediaPolicyModule } from "src/media-policy/media-policy.module"; import { BlameDocumentDbService } from "./entities/db-service/blame-document.db.service"; import { BlameVoiceDbService } from "./entities/db-service/blame.voice.db.service"; import { UserSignDbService } from "./entities/db-service/sign.db.service"; import { UserSignModel, UserSignSchema } from "./entities/schema/sign.schema"; import { BlameVideosModel, BlameVideoSchema, } from "./entities/schema/blame-video.schema"; import { BlameVoiceSchema, BlameVoicesModel, } from "./entities/schema/blame-voice.schema"; import { BlameDocumentModel, BlameDocumentSchema } from "./entities/schema/blame-document.schema"; import { BlameRequest, BlameRequestSchema } from "./entities/schema/blame-cases.schema"; import { RequestManagementModel, RequestManagementSchema, } from "./entities/schema/request-management.schema"; import { RequestManagementService } from "./request-management.service"; import { RequestManagementController } from "./request-management.controller"; import { RequestManagementV2Controller } from "./request-management.v2.controller"; import { ExpertInitiatedController } from "./expert-initiated.controller"; import { ExpertInitiatedV2Controller } from "./expert-initiated.v2.controller"; import { RegistrarInitiatedController } from "./registrar-initiated.controller"; @Module({ imports: [ UsersModule, ClientModule, SandHubModule, SmsOrchestrationModule, PublicIdModule, HashModule, WorkflowStepManagementModule, PlatesModule, MulterModule.register({ dest: "./files/video", }), MongooseModule.forFeature([ { name: RequestManagementModel.name, schema: RequestManagementSchema }, { name: BlameRequest.name, schema: BlameRequestSchema }, { name: BlameVideosModel.name, schema: BlameVideoSchema }, { name: BlameVoicesModel.name, schema: BlameVoiceSchema }, { name: UserSignModel.name, schema: UserSignSchema }, { name: BlameDocumentModel.name, schema: BlameDocumentSchema }, ]), forwardRef(() => ClaimRequestManagementModule), CronModule, AuthModule, MediaPolicyModule, ], controllers: [ RequestManagementController, RequestManagementV2Controller, ExpertInitiatedController, ExpertInitiatedV2Controller, RegistrarInitiatedController, ], providers: [ RequestManagementService, BlameVideoDbService, BlameVoiceDbService, UserSignDbService, RequestManagementDbService, BlameDocumentDbService, BlameRequestDbService, ], exports: [ RequestManagementService, RequestManagementDbService, BlameVideoDbService, BlameVoiceDbService, BlameDocumentDbService, UserSignDbService, BlameRequestDbService, ], }) export class RequestManagementModule {}