import type { User } from '@/api/user/types'; import * as CRMTypes from '@/graphql/crm.types'; import type { ApolloClient } from '@apollo/client'; export async function getInitialData({ query }: ApolloClient, user: User) { const { data: { leads }, } = await query({ query: CRMTypes.GetLeadsDocument, variables: { domainname: user.domainName } }); const { data: { opportunities }, } = await query({ query: CRMTypes.GetOpportunitiesDocument, variables: { domainname: user.domainName }, }); const { data: { transactioncurrencies }, } = await query({ query: CRMTypes.GetTransactionCurrenciesDocument, }); const transactioncurrency_rub = transactioncurrencies?.find((x) => x?.isocurrencycode === 'RUB'); if (transactioncurrency_rub?.transactioncurrencyid) await query({ query: CRMTypes.GetTransactionCurrencyDocument, variables: { currencyid: transactioncurrency_rub?.transactioncurrencyid, }, }); return { options: { selectLead: leads, selectOpportunity: opportunities, selectSupplierCurrency: transactioncurrencies, }, values: { supplierCurrency: transactioncurrency_rub?.transactioncurrencyid ?? null, }, }; }