2023-03-28 09:33:17 +03:00

76 lines
2.4 KiB
TypeScript

import type { GetQuoteInputData, GetQuoteProcessData } from '../load-kp/types';
import initializeApollo from '@/apollo/client';
import defaultValues from '@/config/default-values';
import * as CRMTypes from '@/graphql/crm.types';
import { gql } from '@apollo/client';
const QUERY_GET_QUOTE_LEASING_OBJECT_DATA = gql`
query GetQuoteLeasingObjectData($quoteId: Uuid!) {
quote(quoteId: $quoteId) {
evo_brandid
evo_category
evo_delivery_time
evo_engine_hours
evo_engine_type
evo_engine_volume
evo_equipmentid
evo_leasingobject_typeid
evo_leasingobject_used
evo_max_mass
evo_max_speed
evo_mileage
evo_modelid
evo_object_count
evo_power
evo_recalc_limit
evo_seats
evo_trailer
evo_use_for
evo_vin
evo_year
}
}
`;
export async function getKPData({
values: { quote: quoteId, recalcWithRevision },
}: GetQuoteInputData): Promise<GetQuoteProcessData> {
const apolloClient = initializeApollo();
const {
data: { quote },
} = await apolloClient.query({
query: CRMTypes.GetQuoteLeasingObjectDataDocument,
variables: {
quoteId,
},
});
return {
values: {
brand: quote?.evo_brandid,
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,
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: quote?.evo_leasingobject_used ?? defaultValues.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: quote?.evo_modelid,
vin: quote?.evo_vin,
withTrailer: quote?.evo_trailer ?? defaultValues.withTrailer,
},
};
}