forked from Yara724/api
lookups and inquiries in lookups added
This commit is contained in:
@@ -127,6 +127,22 @@ export class LookupsService {
|
||||
return await this.getClientRemoteLookup("file-types");
|
||||
}
|
||||
|
||||
async getCities(): Promise<any> {
|
||||
return await this.getClientRemoteLookup("cities");
|
||||
}
|
||||
|
||||
async getProvinces(): Promise<any> {
|
||||
return await this.getClientRemoteLookup("provinces");
|
||||
}
|
||||
|
||||
async getDmgCaseType(): Promise<any> {
|
||||
return await this.getClientRemoteLookup("dmg-case-type");
|
||||
}
|
||||
|
||||
async getDmgHistoryStatus(): Promise<any> {
|
||||
return await this.getClientRemoteLookup("dmg-history-status");
|
||||
}
|
||||
|
||||
async inquiryByVin(vin: string): Promise<unknown> {
|
||||
const clientKey = this.activeClientKey();
|
||||
return this.fanavaranLookupService.inquiryByVin(clientKey, vin);
|
||||
@@ -144,14 +160,70 @@ export class LookupsService {
|
||||
);
|
||||
}
|
||||
|
||||
async mapPolicyDetails(policy: any): Promise<any> {
|
||||
if (!policy || typeof policy !== "object") {
|
||||
return policy;
|
||||
}
|
||||
|
||||
const mappedPolicy = { ...policy };
|
||||
|
||||
// 1. Map PreviousInsuranceCorpId and TransferorInsuranceCorpId
|
||||
try {
|
||||
const companies = (await this.getClientRemoteLookup("insurance-corp")) as any[];
|
||||
if (Array.isArray(companies)) {
|
||||
if (typeof policy.PreviousInsuranceCorpId === "number") {
|
||||
const match = companies.find((c) => c.Id === policy.PreviousInsuranceCorpId);
|
||||
if (match) {
|
||||
mappedPolicy.PreviousInsuranceCorpName = match.Caption;
|
||||
}
|
||||
}
|
||||
if (typeof policy.TransferorInsuranceCorpId === "number") {
|
||||
const match = companies.find((c) => c.Id === policy.TransferorInsuranceCorpId);
|
||||
if (match) {
|
||||
mappedPolicy.TransferorInsuranceCorpName = match.Caption;
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
this.logger.warn(`Failed to map insurance-corp lookups: ${e.message}`);
|
||||
}
|
||||
|
||||
// 2. Map PolicyUsageTypeId
|
||||
try {
|
||||
const useTypes = (await this.getClientRemoteLookup("vehicle-use-types")) as any[];
|
||||
if (Array.isArray(useTypes) && typeof policy.PolicyUsageTypeId === "number") {
|
||||
const match = useTypes.find((t) => t.Id === policy.PolicyUsageTypeId);
|
||||
if (match) {
|
||||
mappedPolicy.PolicyUsageTypeName = match.Caption;
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
this.logger.warn(`Failed to map vehicle-use-types lookups: ${e.message}`);
|
||||
}
|
||||
|
||||
return mappedPolicy;
|
||||
}
|
||||
|
||||
async thirdPartyPolicyById(policyId: number): Promise<unknown> {
|
||||
const clientKey = this.activeClientKey();
|
||||
return this.fanavaranLookupService.thirdPartyPolicyById(clientKey, policyId);
|
||||
const policy = await this.fanavaranLookupService.thirdPartyPolicyById(clientKey, policyId);
|
||||
return this.mapPolicyDetails(policy);
|
||||
}
|
||||
|
||||
async bodyPolicyById(policyId: number): Promise<unknown> {
|
||||
const clientKey = this.activeClientKey();
|
||||
return this.fanavaranLookupService.bodyPolicyById(clientKey, policyId);
|
||||
const policy = await this.fanavaranLookupService.bodyPolicyById(clientKey, policyId);
|
||||
return this.mapPolicyDetails(policy);
|
||||
}
|
||||
|
||||
async vehicleById(vehicleId: number, versionNo: number = 1): Promise<unknown> {
|
||||
const clientKey = this.activeClientKey();
|
||||
return this.fanavaranLookupService.vehicleById(clientKey, vehicleId, versionNo);
|
||||
}
|
||||
|
||||
async customerById(customerId: number): Promise<unknown> {
|
||||
const clientKey = this.activeClientKey();
|
||||
return this.fanavaranLookupService.customerById(clientKey, customerId);
|
||||
}
|
||||
|
||||
async getAccidentWay(): Promise<{ id: number; label: string }[]> {
|
||||
|
||||
Reference in New Issue
Block a user