67 lines
1.7 KiB
TypeScript
67 lines
1.7 KiB
TypeScript
import type { GetQuoteInputData, GetQuoteProcessData } from '../load-kp/types';
|
|
import initializeApollo from '@/apollo/client';
|
|
import * as CRMTypes from '@/graphql/crm.types';
|
|
import { gql } from '@apollo/client';
|
|
|
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
const QUERY_GET_QUOTE_ELT_DATA = gql`
|
|
query GetQuoteEltData($quoteId: Uuid!) {
|
|
quote(quoteId: $quoteId) {
|
|
evo_kasko_accountid
|
|
evo_kasko_price
|
|
evo_id_elt_kasko
|
|
evo_id_kasko_calc
|
|
evo_franchise
|
|
evo_osago_accountid
|
|
evo_id_elt_osago
|
|
evo_osago_price
|
|
evo_leasingobject_typeid
|
|
}
|
|
}
|
|
`;
|
|
|
|
export async function getKPData({
|
|
values: { quote: quoteId },
|
|
}: GetQuoteInputData): Promise<GetQuoteProcessData> {
|
|
const apolloClient = initializeApollo();
|
|
|
|
const {
|
|
data: { quote },
|
|
} = await apolloClient.query({
|
|
query: CRMTypes.GetQuoteEltDataDocument,
|
|
variables: {
|
|
quoteId,
|
|
},
|
|
});
|
|
|
|
const elt: NonNullable<GetQuoteProcessData['elt']> = { kasko: undefined, osago: undefined };
|
|
|
|
if (
|
|
quote?.evo_kasko_accountid &&
|
|
quote?.evo_id_elt_kasko &&
|
|
quote?.evo_id_kasko_calc &&
|
|
quote?.evo_kasko_price &&
|
|
quote?.evo_franchise
|
|
) {
|
|
elt.kasko = {
|
|
key: quote?.evo_kasko_accountid,
|
|
requestId: quote?.evo_id_elt_kasko,
|
|
skCalcId: quote?.evo_id_kasko_calc,
|
|
sum: quote?.evo_kasko_price,
|
|
totalFranchise: quote?.evo_franchise,
|
|
};
|
|
}
|
|
|
|
if (quote?.evo_osago_accountid && quote?.evo_id_elt_osago && quote?.evo_osago_price) {
|
|
elt.osago = {
|
|
key: quote?.evo_osago_accountid,
|
|
numCalc: Number.parseInt(quote?.evo_id_elt_osago, 10),
|
|
sum: quote?.evo_osago_price,
|
|
};
|
|
}
|
|
|
|
return {
|
|
elt,
|
|
};
|
|
}
|