import { getParticipantAddresses } from '../../retail/adaptors/utils'; import { type LeadFormState } from '../../retail/model/LeadFormState'; import { checkNewMicroservice } from '../../retail/utils/checkNewMicroservice'; import { dateToISO } from '../../utils/dateToISO'; export const getDeliveryData = (formData: LeadFormState) => { const { methodObtain, deliveryDate = '', deliveryTime } = formData; const isNewMicroservice = checkNewMicroservice(); //TODO временный хардкод для тестирования, требуется чтобы отработал ЕФР const oficeId = isNewMicroservice ? { id: '92fc8b67-2648-43ad-a441-5ca827021186' } : { id: '3' }; const isCourierDelivery = methodObtain === 'courier'; const deliveryTimeCd = deliveryTime ? { deliveryTimeCd: { key: deliveryTime } } : {}; return isCourierDelivery ? { courierDeliveryFlg: isCourierDelivery, deliveryDate: dateToISO(deliveryDate.toString().replace(/(GMT)[+-]\d{4}/, 'GMT+0000')), //TODO временный хардкод для тестирования, не забыть удалить office: oficeId, ...deliveryTimeCd, } : {}; }; export const getOfficeCode = (formData: LeadFormState) => { const { addressRetail, methodObtain } = formData; const isOfficeObtain = addressRetail?.key && methodObtain === 'office'; return isOfficeObtain ? { office: { id: addressRetail.key }, } : {}; }; export const getDeliveryCreditCardData = (formData: LeadFormState) => { const { addressCourier, methodObtain } = formData; const isCourierDelivery = methodObtain === 'courier'; return isCourierDelivery ? { participantAddresses: getParticipantAddresses({ addressCourier }), } : {}; };