77 lines
2.5 KiB
TypeScript
77 lines
2.5 KiB
TypeScript
/* eslint-disable @typescript-eslint/naming-convention */
|
|
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,
|
|
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,
|
|
},
|
|
};
|
|
}
|