import type { ProcessContext } from '../../types'; import type { Row } from '@/Components/Calculation/Form/ELT/types'; import * as CRMTypes from '@/graphql/crm.types'; import { defaultRow } from '@/stores/tables/elt/default-values'; export default function helper({ apolloClient, store, }: Pick) { const { $calculation } = store; return { async init() { const { data: { accounts }, } = await apolloClient.query({ query: CRMTypes.GetInsuranceCompaniesDocument, }); let evo_leasingobject_type: CRMTypes.GetLeaseObjectTypeQuery['evo_leasingobject_type']; const leaseObjectTypeId = $calculation.element('selectLeaseObjectType').getValue(); if (leaseObjectTypeId) { const { data } = await apolloClient.query({ query: CRMTypes.GetLeaseObjectTypeDocument, variables: { leaseObjectTypeId, }, }); ({ evo_leasingobject_type } = data); } // const leaseObjectCategory = $calculation.element('selectLeaseObjectCategory').getValue(); return { kasko: (accounts ?.filter( (x) => x?.evo_type_ins_policy?.includes(100_000_000) && // leaseObjectCategory && // x.evo_kasko_category?.includes(leaseObjectCategory) && evo_leasingobject_type?.evo_id ) .filter( (x) => (evo_leasingobject_type?.evo_id && ['6', '9', '10'].includes(evo_leasingobject_type.evo_id) && x?.evo_id_elt_smr) || x?.evo_id_elt ) .map((x) => ({ ...defaultRow, id: evo_leasingobject_type?.evo_id && ['6', '9', '10'].includes(evo_leasingobject_type?.evo_id) ? x?.evo_id_elt_smr : x?.evo_id_elt, key: x?.value, name: x?.label, })) || []) as Row[], osago: (accounts ?.filter( (x) => x?.evo_type_ins_policy?.includes(100_000_001) && // leaseObjectCategory && // x.evo_osago_category?.includes(leaseObjectCategory) && (x?.evo_id_elt_osago || x.evo_osago_id) ) .map((x) => ({ ...defaultRow, id: x?.evo_id_elt_osago || x?.evo_osago_id, key: x?.value, metodCalc: x?.evo_osago_id ? 'CRM' : 'ELT', name: x?.label, })) || []) as Row[], }; }, }; }