2023-03-16 15:35:44 +03:00

72 lines
2.1 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_ADD_PRODUCT_DATA = gql`
query GetQuoteAddProductData($quoteId: Uuid!) {
quote(quoteId: $quoteId) {
evo_addproduct_types {
evo_product_type
evo_addproduct_typeid
}
}
}
`;
export async function getKPData({
values: { quote: quoteId },
}: GetQuoteInputData): Promise<GetQuoteProcessData> {
const apolloClient = initializeApollo();
const {
data: { quote },
} = await apolloClient.query({
query: CRMTypes.GetQuoteAddProductDataDocument,
variables: {
quoteId,
},
});
const registration =
quote?.evo_addproduct_types?.find((x) => x?.evo_product_type === 100_000_001)
?.evo_addproduct_typeid ?? defaultValues.registration;
const technicalCard =
quote?.evo_addproduct_types?.find((x) => x?.evo_product_type === 100_000_000)
?.evo_addproduct_typeid ?? defaultValues.technicalCard;
const insNSIB =
quote?.evo_addproduct_types?.find((x) => x?.evo_product_type === 100_000_002)
?.evo_addproduct_typeid ?? defaultValues.insNSIB;
const tracker =
quote?.evo_addproduct_types?.find((x) => x?.evo_product_type === 100_000_003)
?.evo_addproduct_typeid ?? defaultValues.tracker;
const telematic =
quote?.evo_addproduct_types?.find((x) => x?.evo_product_type === 100_000_004)
?.evo_addproduct_typeid ?? defaultValues.telematic;
const fuelCard =
quote?.evo_addproduct_types?.find((x) => x?.evo_product_type === 100_000_005)
?.evo_addproduct_typeid ?? defaultValues.fuelCard;
const leasingWithoutKasko =
quote?.evo_addproduct_types?.find((x) => x?.evo_product_type === 100_000_007)
?.evo_addproduct_typeid ?? defaultValues.leasingWithoutKasko;
return {
values: {
fuelCard,
insNSIB,
leasingWithoutKasko,
registration,
technicalCard,
telematic,
tracker,
},
};
}