{"version":3,"file":"locations-F91Yh7et.js","sources":["../../../app/frontend/entrypoints/admin/modules/locations.js"],"sourcesContent":["import axios from \"../lib/axios\";\n\nfunction removeEmptyEntries(obj) {\n return Object.fromEntries(\n Object.entries(obj).filter(([_, value]) => {\n if (value === null || value === undefined || value === '') {\n return false;\n }\n if (typeof value === 'object' && Object.keys(value).length === 0) {\n return false;\n }\n return true;\n })\n );\n}\n\n\nexport const fetchLocations = (params = {}) => {\n const url = `/locations`;\n\n return axios\n .get(url, {\n params: params,\n })\n .then((response) => {\n return Promise.resolve(response.data);\n })\n .catch((error) => {\n return Promise.reject(error.response.data);\n });\n};\n\nexport const fetchLocation = (id) => {\n const url = `/locations/${id}`;\n\n return axios\n .get(url)\n .then((response) => {\n return Promise.resolve(response.data);\n })\n .catch((error) => {\n return Promise.reject(error.response.data);\n });\n};\n\nexport function updateLocation(id, params) {\n const url = `/locations/${id}`;\n console.log(url)\n return axios\n .put(url, params)\n .then((response) => {\n return Promise.resolve(response.data)\n })\n .catch((error) => {\n return Promise.reject(error.response.data);\n })\n}\n\nexport function fetchStates() {\n const url = `/locations/states`;\n\n return axios\n .get(url)\n .then((response) => {\n return Promise.resolve(response.data);\n })\n .catch((error) => {\n return Promise.reject(error.response.data);\n });\n}\n\nexport function exportLocations(params) {\n const url = new URL(`${window.location.protocol}//${window.location.host}/locations/export`);\n const queryParams = new URLSearchParams(removeEmptyEntries(params));\n url.search = queryParams.toString();\n\n return axios.get(url.toString(), {\n headers: {\n 'Content-Type': 'text/csv',\n 'Accept': 'text/csv'\n }})\n .then((response) => {\n const blob = new Blob([response.data], { type: 'text/csv'});\n return Promise.resolve(blob)\n }).catch((error) => {\n return Promise.reject(error);\n })\n}\n\nexport function importLocations(csv) {\n const url = `/locations/import`;\n const formData = new FormData();\n formData.append('file', csv);\n\n return axios.post(url, formData, { headers: {\n 'Content-Type': 'multipart/form-data'\n }}).then((data) => {\n return Promise.resolve()\n }).catch((error) => {\n console.error(error)\n return Promise.reject(error);\n })\n}"],"names":["removeEmptyEntries","obj","_","value","fetchLocations","params","axios","response","error","fetchLocation","id","url","updateLocation","fetchStates","exportLocations","queryParams","blob","importLocations","csv","formData","data"],"mappings":"wCAEA,SAASA,EAAmBC,EAAK,CAC/B,OAAO,OAAO,YACZ,OAAO,QAAQA,CAAG,EAAE,OAAO,CAAC,CAACC,EAAGC,CAAK,IAC/B,EAAAA,GAAU,MAA+BA,IAAU,IAGnD,OAAOA,GAAU,UAAY,OAAO,KAAKA,CAAK,EAAE,SAAW,EAIhE,CACL,CACA,CAGY,MAACC,EAAiB,CAACC,EAAS,KAG/BC,EACJ,IAHS,aAGA,CACR,OAAQD,CACd,CAAK,EACA,KAAME,GACE,QAAQ,QAAQA,EAAS,IAAI,CACrC,EACA,MAAOC,GACC,QAAQ,OAAOA,EAAM,SAAS,IAAI,CAC1C,EAGQC,EAAiBC,GAAO,CACnC,MAAMC,EAAM,cAAcD,CAAE,GAE5B,OAAOJ,EACJ,IAAIK,CAAG,EACP,KAAMJ,GACE,QAAQ,QAAQA,EAAS,IAAI,CACrC,EACA,MAAOC,GACC,QAAQ,OAAOA,EAAM,SAAS,IAAI,CAC1C,CACL,EAEO,SAASI,EAAeF,EAAIL,EAAQ,CACzC,MAAMM,EAAM,cAAcD,CAAE,GAC5B,eAAQ,IAAIC,CAAG,EACRL,EACJ,IAAIK,EAAKN,CAAM,EACf,KAAME,GACE,QAAQ,QAAQA,EAAS,IAAI,CACrC,EACA,MAAOC,GACC,QAAQ,OAAOA,EAAM,SAAS,IAAI,CAC1C,CACL,CAEO,SAASK,GAAc,CAG5B,OAAOP,EACJ,IAHS,mBAGF,EACP,KAAMC,GACE,QAAQ,QAAQA,EAAS,IAAI,CACrC,EACA,MAAOC,GACC,QAAQ,OAAOA,EAAM,SAAS,IAAI,CAC1C,CACL,CAEO,SAASM,EAAgBT,EAAQ,CACtC,MAAMM,EAAM,IAAI,IAAI,GAAG,OAAO,SAAS,QAAQ,KAAK,OAAO,SAAS,IAAI,mBAAmB,EACrFI,EAAc,IAAI,gBAAgBf,EAAmBK,CAAM,CAAC,EAClE,OAAAM,EAAI,OAASI,EAAY,WAElBT,EAAM,IAAIK,EAAI,SAAQ,EAAI,CAC/B,QAAS,CACP,eAAgB,WAChB,OAAU,UAChB,CAAK,CAAC,EACD,KAAMJ,GAAa,CAClB,MAAMS,EAAO,IAAI,KAAK,CAACT,EAAS,IAAI,EAAG,CAAE,KAAM,UAAU,CAAC,EAC1D,OAAO,QAAQ,QAAQS,CAAI,CACjC,CAAK,EAAE,MAAOR,GACD,QAAQ,OAAOA,CAAK,CAC5B,CACL,CAEO,SAASS,EAAgBC,EAAK,CACnC,MAAMP,EAAM,oBACNQ,EAAW,IAAI,SACrB,OAAAA,EAAS,OAAO,OAAQD,CAAG,EAEpBZ,EAAM,KAAKK,EAAKQ,EAAU,CAAE,QAAS,CAC1C,eAAgB,qBACpB,CAAG,CAAC,EAAE,KAAMC,GACD,QAAQ,QAAS,CACzB,EAAE,MAAOZ,IACR,QAAQ,MAAMA,CAAK,EACZ,QAAQ,OAAOA,CAAK,EAC5B,CACH"}