locations dynamically in fanavaran

This commit is contained in:
2026-09-02 15:31:55 +03:30
parent ebfeef9e01
commit 5c2b660600
10 changed files with 307 additions and 4 deletions

View File

@@ -17,6 +17,7 @@ import { RequestManagementModule } from "src/request-management/request-manageme
import { SandHubModule } from "src/sand-hub/sand-hub.module";
import { SmsOrchestrationModule } from "src/sms-orchestration/sms-orchestration.module";
import { UsersModule } from "src/users/users.module";
import { FanavaranLookupModule } from "src/fanavaran/fanavaran-lookup.module";
import { ExpertClaimController } from "./expert-claim.controller";
import { ExpertClaimV2Controller } from "./expert-claim.v2.controller";
import { ExpertClaimService } from "./expert-claim.service";
@@ -41,6 +42,7 @@ import { ExpertClaimService } from "./expert-claim.service";
SmsOrchestrationModule,
UsersModule,
ClientModule,
FanavaranLookupModule,
],
controllers: [ExpertClaimController, ExpertClaimV2Controller],
providers: [ExpertClaimService, ClaimFactorsImageDbService],

View File

@@ -25,6 +25,7 @@ import {
FanavaranAutoSubmitResult,
FanavaranExpertiseSubmitResult,
} from "src/claim-request-management/claim-request-management.service";
import { FanavaranLocationService } from "src/fanavaran/fanavaran-location.service";
import { ClaimSignDbService } from "src/claim-request-management/entites/db-service/claim-sign.db.service";
import { DamageImageDbService } from "src/claim-request-management/entites/db-service/damage-image.db.service";
import { VideoCaptureDbService } from "src/claim-request-management/entites/db-service/video-capture.db.service";
@@ -291,6 +292,7 @@ export class ExpertClaimService {
private readonly expertFileActivityDbService: ExpertFileActivityDbService,
private readonly claimSignDbService: ClaimSignDbService,
private readonly claimRequestManagementService: ClaimRequestManagementService,
private readonly fanavaranLocationService: FanavaranLocationService,
) {}
private appendFanavaranAutoSubmitToMessage(
@@ -2590,6 +2592,12 @@ export class ExpertClaimService {
// Atomically claim it — findOneAndUpdate with null/missing guard
const reviewerOid = new Types.ObjectId(actor.sub);
await this.fanavaranLocationService.assertMakerReviewerLocationCompatible({
fileMakerId: (blame as any)?.initiatedByFieldExpertId
? String((blame as any).initiatedByFieldExpertId)
: null,
fileReviewerId: actor.sub,
});
const updated = await this.blameRequestDbService.findOneAndUpdate(
{
_id: (blame as any)._id,