forked from Yara724/api
update the blame service
This commit is contained in:
@@ -269,8 +269,7 @@ export class RequestManagementService {
|
||||
const step = stepByNumber ?? stepByKey;
|
||||
if (!step) {
|
||||
throw new InternalServerErrorException(
|
||||
`Workflow step not found (${stepNumber ? `stepNumber=${stepNumber}` : ""}${
|
||||
stepNumber && stepKey ? ", " : ""
|
||||
`Workflow step not found (${stepNumber ? `stepNumber=${stepNumber}` : ""}${stepNumber && stepKey ? ", " : ""
|
||||
}${stepKey ? `stepKey=${stepKey}` : ""})`,
|
||||
);
|
||||
}
|
||||
@@ -304,7 +303,7 @@ export class RequestManagementService {
|
||||
private readonly workflowStepDbService: WorkflowStepDbService,
|
||||
private readonly hashService: HashService,
|
||||
private readonly userAuthService: UserAuthService,
|
||||
) {}
|
||||
) { }
|
||||
|
||||
async createRequestV2(user: any, type: BlameRequestType) {
|
||||
const firstStep = await this.getWorkflowStep({ stepNumber: 1 });
|
||||
@@ -768,8 +767,7 @@ export class RequestManagementService {
|
||||
);
|
||||
if (err?.response) {
|
||||
this.logger.error(
|
||||
`[TEJARAT] block inquiry response for request=${req._id}: status=${
|
||||
err.response.status
|
||||
`[TEJARAT] block inquiry response for request=${req._id}: status=${err.response.status
|
||||
}, data=${JSON.stringify(err.response.data)}`,
|
||||
);
|
||||
}
|
||||
@@ -1310,9 +1308,9 @@ export class RequestManagementService {
|
||||
if (foundRequest.expertInitiated && foundRequest.creationMethod === CreationMethod.LINK) {
|
||||
// User should already be set in firstPartyDetails or secondPartyDetails
|
||||
const isFirstParty = foundRequest.firstPartyDetails?.firstPartyId?.toString() === user.sub ||
|
||||
foundRequest.firstPartyDetails?.firstPartyPhoneNumber === user.username;
|
||||
foundRequest.firstPartyDetails?.firstPartyPhoneNumber === user.username;
|
||||
const isSecondParty = foundRequest.secondPartyDetails?.secondPartyId?.toString() === user.sub ||
|
||||
foundRequest.secondPartyDetails?.secondPartyPhoneNumber === user.username;
|
||||
foundRequest.secondPartyDetails?.secondPartyPhoneNumber === user.username;
|
||||
|
||||
if (!isFirstParty && !isSecondParty) {
|
||||
throw new ForbiddenException(
|
||||
@@ -1358,8 +1356,8 @@ export class RequestManagementService {
|
||||
} else if (
|
||||
foundRequest?.firstPartyDetails?.firstPartyPhoneNumber == user.username ||
|
||||
(foundRequest.expertInitiated &&
|
||||
foundRequest.creationMethod === CreationMethod.LINK &&
|
||||
foundRequest.firstPartyDetails?.firstPartyId?.toString() === user.sub)
|
||||
foundRequest.creationMethod === CreationMethod.LINK &&
|
||||
foundRequest.firstPartyDetails?.firstPartyId?.toString() === user.sub)
|
||||
) {
|
||||
// Normal flow or link-based - set full firstPartyDetails
|
||||
const updatePayload: any = {
|
||||
@@ -1636,7 +1634,7 @@ export class RequestManagementService {
|
||||
// Check if nextStep is firstParty-addPlate OR if user is the first party phone number
|
||||
const isFirstParty =
|
||||
(request.nextStep === StepsEnum.F_addPlate ||
|
||||
request.currentStep === StepsEnum.F_addPlate) &&
|
||||
request.currentStep === StepsEnum.F_addPlate) &&
|
||||
request.firstPartyDetails.firstPartyPhoneNumber === user.username;
|
||||
|
||||
if (!isFirstParty) {
|
||||
@@ -3777,6 +3775,25 @@ export class RequestManagementService {
|
||||
}));
|
||||
}
|
||||
|
||||
async getAllBlameRequestsV2(user: any): Promise<any> {
|
||||
console.log(user)
|
||||
try {
|
||||
const requests = await this.blameRequestDbService.find({
|
||||
parties: {
|
||||
$elemMatch: {
|
||||
'person.userId': new Types.ObjectId(user.sub)
|
||||
}
|
||||
}
|
||||
}, { select: "requestNo type status blameStatus createdAt updatedAt" });
|
||||
return requests;
|
||||
} catch (err) {
|
||||
this.logger.error("Error: ", err);
|
||||
throw new InternalServerErrorException(
|
||||
"Something Went Wrong",
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* V2: Get one blame request by id. Access allowed if current user is a party (by userId or phone)
|
||||
* or the initiating field expert. For expert-initiated LINK, party access by phone is sufficient.
|
||||
|
||||
@@ -51,7 +51,7 @@ import { RequestManagementService } from "./request-management.service";
|
||||
export class RequestManagementV2Controller {
|
||||
constructor(
|
||||
private readonly requestManagementService: RequestManagementService,
|
||||
) {}
|
||||
) { }
|
||||
|
||||
@Post()
|
||||
@UseGuards(GlobalGuard)
|
||||
@@ -65,6 +65,14 @@ export class RequestManagementV2Controller {
|
||||
);
|
||||
}
|
||||
|
||||
@Get()
|
||||
@Roles(RoleEnum.USER, RoleEnum.FIELD_EXPERT)
|
||||
async getAllBlameRequestsV2(
|
||||
@CurrentUser() user: any,
|
||||
) {
|
||||
return this.requestManagementService.getAllBlameRequestsV2(user);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get one blame request by id. Allowed for the request owner (party) or the initiating field expert.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user