50 lines
1.9 KiB
TypeScript
50 lines
1.9 KiB
TypeScript
import type { GetQuoteInputData, GetQuoteProcessData } from '../load-kp/types';
|
|
import helper from './lib/helper';
|
|
import defaultValues from '@/config/default-values';
|
|
|
|
export async function getKPData({
|
|
values: { recalcWithRevision },
|
|
quote,
|
|
ctx: { apolloClient },
|
|
}: GetQuoteInputData): Promise<GetQuoteProcessData> {
|
|
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,
|
|
},
|
|
};
|
|
}
|