Files
yara724api/src/claim-request-management/claim-request-management.module.ts
2026-06-15 15:58:31 +03:30

116 lines
4.4 KiB
TypeScript

import { Module } from "@nestjs/common";
import { MongooseModule } from "@nestjs/mongoose";
import { AiModule } from "src/ai/ai.module";
import { SandHubModule } from "src/sand-hub/sand-hub.module";
import { RequestManagementModule } from "src/request-management/request-management.module";
import { UsersModule } from "src/users/users.module";
import { ClaimRequestManagementController } from "./claim-request-management.controller";
import { ClaimRequestManagementV2Controller } from "./claim-request-management.v2.controller";
import { RegistrarClaimV1Controller } from "./registrar-claim.v1.controller";
import { ExpertInitiatedClaimMirrorController } from "./expert-initiated-claim.mirror.controller";
import { RegistrarClaimMirrorController } from "./registrar-claim.mirror.controller";
import { ClaimRequestManagementService } from "./claim-request-management.service";
import { CarGreenCardDbService } from "./entites/db-service/car-green-card.db.service";
import { ClaimRequestManagementDbService } from "./entites/db-service/claim-request-management.db.service";
import { ClaimCaseDbService } from "./entites/db-service/claim-case.db.service";
import {
ClaimCase,
ClaimCaseSchema,
} from "./entites/schema/claim-cases.schema";
import { ClaimSignDbService } from "./entites/db-service/claim-sign.db.service";
import { DamageImageDbService } from "./entites/db-service/damage-image.db.service";
import { ClaimFactorsImageDbService } from "./entites/db-service/factor-image.db.service";
import { VideoCaptureDbService } from "./entites/db-service/video-capture.db.service";
import { ClaimRequiredDocumentDbService } from "./entites/db-service/claim-required-document.db.service";
import {
CarGreenCardModel,
CarGreenCardSchema,
} from "./entites/schema/car-green-card.schema";
import {
ClaimRequiredDocument,
ClaimRequiredDocumentSchema,
} from "./entites/schema/claim-required-document.schema";
import {
ClaimRequestManagementModel,
ClaimRequestManagementSchema,
} from "./entites/schema/claim-request-management.schema";
import { ClaimSignModel, ClaimSignSchema } from "./entites/schema/claim-sign";
import {
DamageImageModelSchema,
DamagePartImageModel,
} from "./entites/schema/damage-image-part.schema";
import {
ClaimFactorsImage,
ClaimFactorsImageSchema,
} from "./entites/schema/factor-image.schema";
import {
VideoCaptureModel,
VideoCaptureSchema,
} from "./entites/schema/video-capture.schema";
import { PublicIdModule } from "src/utils/public-id/public-id.module";
import { ClientModule } from "src/client/client.module";
import { ClaimAccessGuard } from "src/auth/guards/claim-access.guard";
import { JwtModule } from "@nestjs/jwt";
import { MediaPolicyModule } from "src/media-policy/media-policy.module";
import { HttpModule } from "@nestjs/axios";
@Module({
imports: [
HttpModule,
PublicIdModule,
UsersModule,
RequestManagementModule,
AiModule,
SandHubModule,
ClientModule,
MediaPolicyModule,
JwtModule.register({}),
MongooseModule.forFeature([
{ name: ClaimCase.name, schema: ClaimCaseSchema },
{
name: ClaimRequestManagementModel.name,
schema: ClaimRequestManagementSchema,
},
{ name: CarGreenCardModel.name, schema: CarGreenCardSchema },
{ name: DamagePartImageModel.name, schema: DamageImageModelSchema },
{ name: ClaimSignModel.name, schema: ClaimSignSchema },
{ name: ClaimFactorsImage.name, schema: ClaimFactorsImageSchema },
{ name: VideoCaptureModel.name, schema: VideoCaptureSchema },
{
name: ClaimRequiredDocument.name,
schema: ClaimRequiredDocumentSchema,
},
]),
],
providers: [
ClaimRequestManagementService,
ClaimRequestManagementDbService,
ClaimCaseDbService,
CarGreenCardDbService,
ClaimCaseDbService,
DamageImageDbService,
ClaimSignDbService,
ClaimFactorsImageDbService,
VideoCaptureDbService,
ClaimRequiredDocumentDbService,
ClaimAccessGuard,
],
controllers: [
ClaimRequestManagementController,
ClaimRequestManagementV2Controller,
RegistrarClaimV1Controller,
ExpertInitiatedClaimMirrorController,
RegistrarClaimMirrorController,
],
exports: [
ClaimRequestManagementService,
ClaimRequestManagementDbService,
ClaimCaseDbService,
DamageImageDbService,
VideoCaptureDbService,
ClaimRequiredDocumentDbService,
ClaimSignDbService,
],
})
export class ClaimRequestManagementModule {}