2024-02-16 13:22:01 +03:00

52 lines
2.0 KiB
TypeScript

import type { GetQuoteInputData, GetQuoteProcessData } from '../load-kp/types';
import helper from './lib/helper';
import initializeApollo from '@/apollo/client';
import defaultValues from '@/config/default-values';
export async function getKPData({
values: { recalcWithRevision },
quote,
}: GetQuoteInputData): Promise<GetQuoteProcessData> {
const apolloClient = initializeApollo();
const brand = quote?.evo_brandid ?? defaultValues.brand;
const model = quote?.evo_modelid ?? defaultValues.model;
const leaseObjectUsed = quote?.evo_leasingobject_used ?? defaultValues.leaseObjectUsed;
const { getImporterReward } = helper({ apolloClient });
const { importerRewardPerc, importerRewardRub } = await getImporterReward({
brand,
leaseObjectUsed,
model,
});
return {
values: {
brand,
configuration: quote?.evo_equipmentid,
countSeats: quote?.evo_seats ?? defaultValues.countSeats,
deliveryTime: quote?.evo_delivery_time ?? defaultValues.deliveryTime,
engineHours: quote?.evo_engine_hours ?? defaultValues.engineHours,
engineType: quote?.evo_engine_type,
engineVolume: quote?.evo_engine_volume ?? defaultValues.engineVolume,
importerRewardPerc,
importerRewardRub,
leaseObjectCategory: quote?.evo_category,
leaseObjectCount:
(recalcWithRevision ? quote?.evo_recalc_limit : quote?.evo_object_count) ??
defaultValues.leaseObjectCount,
leaseObjectMotorPower: quote?.evo_power ?? defaultValues.leaseObjectMotorPower,
leaseObjectType: quote?.evo_leasingobject_typeid,
leaseObjectUseFor: quote?.evo_use_for,
leaseObjectUsed,
leaseObjectYear: quote?.evo_year ?? defaultValues.leaseObjectYear,
maxMass: quote?.evo_max_mass ?? defaultValues.maxMass,
maxSpeed: quote?.evo_max_speed ?? defaultValues.maxSpeed,
mileage: quote?.evo_mileage ?? defaultValues.mileage,
model,
vin: quote?.evo_vin,
withTrailer: quote?.evo_trailer ?? defaultValues.withTrailer,
},
};
}