import type { ProcessContext } from '../../types'; import defaultValues from '@/config/default-values'; import * as CRMTypes from '@/graphql/crm.types'; import type { CalculationValues } from '@/stores/calculation/values/types'; type GetImporterRewardInput = Pick; export default function helper({ apolloClient }: Pick) { return { async getImporterReward({ brand: brandId, leaseObjectUsed, model: modelId, }: GetImporterRewardInput) { if (leaseObjectUsed) { return { importerRewardPerc: defaultValues.importerRewardPerc, importerRewardRub: defaultValues.importerRewardRub, }; } let evo_importer_reward_perc = 0; let evo_importer_reward_rub = 0; if (modelId) { const { data: { evo_model }, } = await apolloClient.query({ query: CRMTypes.GetModelDocument, variables: { modelId }, }); if (evo_model?.evo_importer_reward_perc) { evo_importer_reward_perc = evo_model?.evo_importer_reward_perc; } if (evo_model?.evo_importer_reward_rub) { evo_importer_reward_rub = evo_model?.evo_importer_reward_rub; } } if (brandId && evo_importer_reward_perc === 0 && evo_importer_reward_rub === 0) { const { data: { evo_brand }, } = await apolloClient.query({ query: CRMTypes.GetBrandDocument, variables: { brandId }, }); if (evo_brand?.evo_importer_reward_perc) { evo_importer_reward_perc = evo_brand?.evo_importer_reward_perc; } if (evo_brand?.evo_importer_reward_rub) { evo_importer_reward_rub = evo_brand?.evo_importer_reward_rub; } } return { importerRewardPerc: evo_importer_reward_perc, importerRewardRub: evo_importer_reward_rub, }; }, }; }