/* eslint-disable @typescript-eslint/naming-convention */ import type { GetQuoteDataInput, GetQuoteDataOutput } from '../load-kp/types'; import initializeApollo from '@/apollo/client'; import type * as CRMTypes from '@/graphql/crm.types'; import { gql } from '@apollo/client'; const QUERY_GET_LEASING_OBJECT_DATA_FROM_QUOTE = gql` query GetLeasingObjectDataFromQuote($quoteId: Uuid!) { quote(quoteId: $quoteId) { evo_brandid evo_modelid evo_equipmentid evo_leasingobject_typeid } } `; export type Quote = NonNullable; type QuoteLeasingObjectProcessData = { values: Partial; }; export default async function getLeasingObjectDataFromKP({ values: { quote: quoteId }, }: GetQuoteDataInput): Promise { const apolloClient = initializeApollo(); const { data: { quote }, } = await apolloClient.query< CRMTypes.GetLeasingObjectDataFromQuoteQuery, CRMTypes.GetLeasingObjectDataFromQuoteQueryVariables >({ query: QUERY_GET_LEASING_OBJECT_DATA_FROM_QUOTE, variables: { quoteId, }, }); if (!quote) { throw new Error('Quote is empty'); } const { evo_brandid, evo_modelid, evo_equipmentid, evo_leasingobject_typeid } = quote; return { values: { brand: evo_brandid, configuration: evo_equipmentid, leaseObjectType: evo_leasingobject_typeid, model: evo_modelid, }, }; }