{"version":3,"file":"importService-c3b0e5d5.js","sources":["../../../app/frontend/javascript/services/importService.js"],"sourcesContent":["import axios from 'axios';\nimport { handleErrorFromRequest } from '@services/handleErrorService.js';\naxios.defaults.headers.common['X-CSRF-Token'] = document.querySelector('meta[name=\"csrf-token\"]').getAttribute('content');\n\nfunction defineReviewType(redirectionType) {\n return ['google_only', 'private_only', 'private_and_google'].includes(redirectionType) ? 'google' : redirectionType;\n}\n\nfunction defineReviewRequestRedirection(redirectionType, survey_type) {\n return redirectionType === 'survey' ? survey_type : redirectionType;\n}\n\nexport async function create_or_update_patient({ patient, sendingOption, sendingMoment, sendingDate, redirectionType, survey, sendEsatisEmailing }) {\n try {\n const patientData = {\n prefix: patient.prefix === '' ? null : patient.prefix,\n first_name: patient.firstName === '' ? null : patient.firstName,\n last_name: patient.lastName === '' ? null : patient.lastName,\n email: patient.email === '' ? null : patient.email,\n reminder_type: sendingMoment === 'later' ? 'time' : 'now',\n reminder_time: sendingMoment === 'later' ? sendingDate.toString() : null,\n review_type: defineReviewType(redirectionType),\n review_request_redirection: defineReviewRequestRedirection(redirectionType, survey?.type),\n phone_number: patient.phoneNumber === '' ? null : patient.phoneNumber,\n communication_channel: sendingOption,\n survey_id: redirectionType === 'survey' && survey.type === 'survey' ? survey.id : null,\n survey_schema_id: redirectionType === 'survey' && survey.type === 'survey_schema' ? survey.id : null,\n tag_id: patient.tagId === '' ? null : patient.tagId,\n esatis_exit_date_column: sendingOption === 'email' && sendEsatisEmailing === 'true' && patient.exitDate !== '' ? patient.exitDate : null,\n };\n const response = await axios.post(`/patients`, { patient: patientData }, { headers: { Accept: 'application/json' } });\n return response;\n } catch (error) {\n handleErrorFromRequest(error);\n }\n}\n\nexport async function upload_file_and_create_patients({\n file,\n sendingOption,\n sendingMoment,\n sendingDate,\n redirectionType,\n survey,\n sendEsatisEmailing,\n establishments,\n importType,\n}) {\n try {\n const formData = new FormData();\n if (importType === 'file_one_establishment') {\n formData.append('csv[clinic_id]', establishments[0]);\n } else {\n formData.append('clinic_ids', establishments);\n }\n formData.append('csv[data]', file.selectedFile);\n formData.append('csv[communication_channel]', sendingOption);\n formData.append('csv[document_type]', 'patient');\n if (sendingMoment === 'later') {\n formData.append('csv[reminder_time]', sendingDate);\n }\n formData.append('csv[reminder_type]', sendingMoment === 'later' ? 'time' : 'now');\n formData.append('csv[review_type]', defineReviewType(redirectionType));\n formData.append('csv[review_request_redirection]', defineReviewRequestRedirection(redirectionType, survey?.type));\n if (redirectionType === 'survey') {\n if (survey?.type === 'survey_schema') {\n formData.append('csv[survey_schema_id]', survey.id);\n } else {\n formData.append('csv[survey_id]', survey.id);\n }\n }\n if (file.useTagColumn === true) {\n formData.append('csv[tag_column]', file.tagColumn);\n }\n if (sendingOption === 'email' && sendEsatisEmailing === 'true') {\n formData.append('csv[esatis_exit_date_column]', file.exitDateColumn);\n }\n let response = undefined;\n if (importType === 'file_one_establishment') {\n response = await axios.post(`/csvs`, formData, { headers: { 'Content-Type': 'multipart/form-data', Accept: 'application/json' } });\n } else {\n response = await axios.post(`/csvs/import_multiclinics_patients`, formData, {\n headers: { 'Content-Type': 'multipart/form-data', Accept: 'application/json' },\n });\n }\n return response;\n } catch (error) {\n handleErrorFromRequest(error);\n }\n}\n"],"names":["axios","defineReviewType","redirectionType","defineReviewRequestRedirection","survey_type","create_or_update_patient","patient","sendingOption","sendingMoment","sendingDate","survey","sendEsatisEmailing","patientData","error","handleErrorFromRequest","upload_file_and_create_patients","file","establishments","importType","formData","response"],"mappings":"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"}