@erpsquad/common 1.8.94 → 1.8.95
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/index/index.esm2.js +4 -2
- package/dist/_virtual/index/index.esm2.js.map +1 -1
- package/dist/_virtual/index/index.esm3.js +2 -4
- package/dist/_virtual/index/index.esm3.js.map +1 -1
- package/dist/_virtual/index/index.esm4.js +3 -3
- package/dist/_virtual/index/index.esm5.js +3 -3
- package/dist/_virtual/index/index.esm6.js +3 -3
- package/dist/_virtual/index/index2.js +1 -1
- package/dist/_virtual/index/index3.js +1 -1
- package/dist/_virtual/index/index4.js +1 -1
- package/dist/_virtual/index/index5.js +1 -1
- package/dist/_virtual/index/index6.js +1 -1
- package/dist/api-client/api.hrms/api/index.esm.js +1 -12
- package/dist/api-client/api.hrms/api/index.esm.js.map +1 -1
- package/dist/api-client/api.hrms/api/index.js +1 -1
- package/dist/api-client/api.hrms/api/index.js.map +1 -1
- package/dist/api-client/api.rbac/api/index.esm2.js +230 -1
- package/dist/api-client/api.rbac/api/index.esm2.js.map +1 -1
- package/dist/api-client/api.rbac/api/index2.js +1 -1
- package/dist/api-client/api.rbac/api/index2.js.map +1 -1
- package/dist/components/action-bar/action-bar/index.esm.js +1 -1
- package/dist/components/action-bar/action-bar/index.esm.js.map +1 -1
- package/dist/components/action-bar/action-bar/index.js +5 -5
- package/dist/components/action-bar/action-bar/index.js.map +1 -1
- package/dist/components/filter/filter/index.esm.js +1 -1
- package/dist/components/filter/filter/index.esm.js.map +1 -1
- package/dist/components/filter/filter/index.js +7 -7
- package/dist/components/filter/filter/index.js.map +1 -1
- package/dist/components/header/redux/actionCreator/index.esm.js +1 -1
- package/dist/components/header/redux/actionCreator/index.esm.js.map +1 -1
- package/dist/components/header/redux/actionCreator/index.js +1 -1
- package/dist/components/header/redux/actionCreator/index.js.map +1 -1
- package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.esm.js +1 -1
- package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.esm.js.map +1 -1
- package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.js +1 -1
- package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.js.map +1 -1
- package/dist/components/reports-title-bar/redux/actionCreator/index.esm.js +1 -1
- package/dist/components/reports-title-bar/redux/actionCreator/index.esm.js.map +1 -1
- package/dist/components/reports-title-bar/redux/actionCreator/index.js +1 -1
- package/dist/components/reports-title-bar/redux/actionCreator/index.js.map +1 -1
- package/dist/components/share-modal/redux/actionCreator/index.esm.js +1 -1
- package/dist/components/share-modal/redux/actionCreator/index.esm.js.map +1 -1
- package/dist/components/share-modal/redux/actionCreator/index.js +1 -1
- package/dist/components/share-modal/redux/actionCreator/index.js.map +1 -1
- package/dist/components/upload/upload/index.esm.js +2 -2
- package/dist/components/upload/upload/index.esm.js.map +1 -1
- package/dist/components/upload/upload/index.js +11 -11
- package/dist/components/upload/upload/index.js.map +1 -1
- package/dist/contexts/AuthContext/index.esm.js +1 -1
- package/dist/contexts/AuthContext/index.esm.js.map +1 -1
- package/dist/contexts/AuthContext/index.js +1 -1
- package/dist/contexts/AuthContext/index.js.map +1 -1
- package/dist/contexts/languageContext/index.esm.js +1 -1
- package/dist/contexts/languageContext/index.esm.js.map +1 -1
- package/dist/contexts/languageContext/index.js +1 -1
- package/dist/contexts/languageContext/index.js.map +1 -1
- package/dist/node_modules/@asseinfo/react-kanban/dist/index/index.esm.js +1 -1
- package/dist/node_modules/@asseinfo/react-kanban/dist/index/index.js +1 -1
- package/dist/node_modules/@mui/icons-material/utils/createSvgIcon/index.esm.js +1 -1
- package/dist/node_modules/@mui/icons-material/utils/createSvgIcon/index.js +1 -1
- package/dist/node_modules/@mui/system/colorManipulator/index.esm.js +2 -2
- package/dist/node_modules/@mui/system/colorManipulator/index.js +1 -1
- package/dist/node_modules/@mui/system/createStyled/index.esm.js +1 -1
- package/dist/node_modules/@mui/system/createStyled/index.js +1 -1
- package/dist/node_modules/@mui/system/useThemeWithoutDefault/index.esm.js +1 -1
- package/dist/node_modules/@mui/system/useThemeWithoutDefault/index.js +1 -1
- package/dist/src/utils/api.d.ts +6 -6
- package/dist/style.css +58 -58
- package/dist/utils/api/index.esm.js +6 -8
- package/dist/utils/api/index.esm.js.map +1 -1
- package/dist/utils/api/index.js +1 -1
- package/dist/utils/api/index.js.map +1 -1
- package/dist/utils/api.d.ts +6 -6
- package/dist/utils/common/index.esm.js +6 -6
- package/dist/utils/common/index.esm.js.map +1 -1
- package/dist/utils/common/index.js +1 -1
- package/dist/utils/common/index.js.map +1 -1
- package/dist/views/form-builder/redux/actionCreator/index.esm.js +1 -1
- package/dist/views/form-builder/redux/actionCreator/index.esm.js.map +1 -1
- package/dist/views/form-builder/redux/actionCreator/index.js +1 -1
- package/dist/views/form-builder/redux/actionCreator/index.js.map +1 -1
- package/dist/views/template-editor/components/EditorSidebar/index.esm.js +1 -1
- package/dist/views/template-editor/components/EditorSidebar/index.esm.js.map +1 -1
- package/dist/views/template-editor/components/EditorSidebar/index.js +1 -1
- package/dist/views/template-editor/components/EditorSidebar/index.js.map +1 -1
- package/dist/views/template-editor/templates/index.esm.js +1 -1
- package/dist/views/template-editor/templates/index.esm.js.map +1 -1
- package/dist/views/template-editor/templates/index.js +1 -1
- package/dist/views/template-editor/templates/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("dayjs"),t=require("../../constants/auth/index.js"),a=require("lodash"),n=require("../../api-client/api.accounting/api/index.js"),r=require("../../node_modules/notistack/notistack.esm/index.js"),l=require("../api/index.js"),o=require("../format-text/index.js"),i=require("../dateFormat/index.js"),s=require("../export-filters/index.js"),u=require("libphonenumber-js"),d=require("moment-timezone"),c=require("../../api-client/api.rental/api/index.js"),m=require("../../api-client/api.purchase/api/index.js"),p=require("../../api-client/api.inventory/api/index.js"),f=require("../../api-client/api.rbac/api/index.js"),y=require("../constant/index.js");function v(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var h=/* @__PURE__ */v(e),b=/* @__PURE__ */v(a),g=/* @__PURE__ */v(u),_=/* @__PURE__ */v(d);const w=localStorage.getItem(t.auth.storageTokenKeyName)||void 0,x=e=>{const t=e.split("/");return t.length?(t.splice(0,t.length-2),t.join("/")):e};async function A(e,t,a,n){let r;for(let o=0;o<=a;o++)try{const n=await fetch(e,t);if(n.status>=500&&o<a)throw new Error(`Server error: ${n.status} ${n.statusText}`);return n}catch(l){if(r=l,"AbortError"===l.name)throw l;if(o<a){const e=n*Math.pow(2,o);await new Promise(t=>setTimeout(t,e))}}throw r}const I=async(e,a,n,r={})=>{const l=`http://127.0.0.1:4011/${n}/v1/file-upload/`,o=`http://127.0.0.1:4011/${n}/v1/file-upload/mark-complete`,i=localStorage.getItem(t.auth.storageTokenKeyName),{onProgress:s,chunkSize:u=5242880,retryAttempts:d=3,retryDelay:c=1e3}=r;if(!i)throw new Error("Authentication token not found. Please log in again.");try{const t=[];for(let n=0;n<e.length;n++){const r=e[n];if(a.signal.aborted)throw new Error("Upload cancelled by user");try{const m=await N(r,n,e.length,a,l,o,i,u,d,c,s);t.push(m)}catch(m){throw new Error(`Failed to upload ${r.name}: ${m.message}`)}}return t}catch(p){throw new Error(p.message||"Upload failed")}},N=async(e,t,a,n,r,l,o,i,s,u,d)=>{var c,m;const p=e.size>i,f=p?Math.ceil(e.size/i):1,y=await A(`${r}?key=${encodeURIComponent(e.name)}&partCount=${f}&mimeType=${encodeURIComponent(e.type)}`,{method:"GET",headers:{"Content-Type":"application/json","file-size":e.size.toString(),"x-token":o},signal:n.signal},s,u);if(!y.ok){const e=await y.json().catch(()=>({}));throw new Error(`Failed to get pre-signed URL: ${e.message||y.statusText}`)}const v=await y.json(),h=null==(c=null==v?void 0:v.data)?void 0:c.preSignedData;if(!h)throw new Error("Invalid pre-signed URL response format");const{uploadId:b,preSignedUrls:g,presignedUrl:_,location:w}=h;return p?await $(e,t,a,b,g,n,l,o,i,s,u,d):await D(e,t,a,_||(null==(m=null==g?void 0:g[0])?void 0:m.presignedUrl),w,n,d)},D=async(e,t,a,n,r,l,o)=>{if(!n)throw new Error("No presigned URL provided for single part upload");const i=await fetch(n,{method:"PUT",body:e,headers:{"Content-Type":e.type||"application/octet-stream","Content-Length":e.size.toString()},signal:l.signal});if(!i.ok)throw new Error(`Single part upload failed: ${i.statusText}`);if(null==o||o({fileName:e.name,progress:100,bytesUploaded:e.size,totalBytes:e.size,fileIndex:t+1,totalFiles:a}),!r)throw new Error("No location provided for single part upload");return x(r)},$=async(e,t,a,n,r,l,o,i,s,u,d,c)=>{var m;if(!n||!r||0===r.length)throw new Error("Invalid multipart upload data: missing uploadId or preSignedUrls");let p=0;for(let h=0;h<r.length;h++){if(l.signal.aborted)throw new Error("Upload cancelled by user");const{partNumber:n,presignedUrl:o}=r[h],i=h*s,m=Math.min(i+s,e.size),f=e.slice(i,m);try{const r=await A(o,{method:"PUT",body:f,headers:{"Content-Type":"application/octet-stream","Content-Length":f.size.toString()},signal:l.signal},u,d);if(!r.ok)throw new Error(`Part ${n} upload failed: ${r.statusText}`);p+=f.size;const i=Math.round(p/e.size*100);null==c||c({fileName:e.name,progress:i,bytesUploaded:p,totalBytes:e.size,fileIndex:t+1,totalFiles:a})}catch(v){if("AbortError"===v.name)throw new Error("Upload cancelled by user");throw new Error(`Failed to upload part ${n}: ${v.message}`)}}const f=await A(o,{method:"POST",headers:{"Content-Type":"application/json","x-token":i},body:JSON.stringify({fileName:e.name,uploadId:n}),signal:l.signal},u,d);if(!f.ok){const e=await f.json().catch(()=>({}));throw new Error(`Failed to complete multipart upload: ${e.message||f.statusText}`)}const y=await f.json();if(!(null==(m=y.data)?void 0:m.location))throw new Error("Invalid completion response format - no location received");return x(y.data.location)},k=async(e,t="sales",a={})=>{var n,r,l;if(Array.isArray(e)&&0===(null==(n=null==e?void 0:e.filter(e=>e))?void 0:n.length))return[];try{let n=[];const o="https://erpforce-dev.s3.eu-west-1.amazonaws.com/",i=null==o?void 0:o.replace("https://",""),s=new AbortController,u=e?Array.isArray(e)?e:[e]:[],d=u.filter(e=>!(e instanceof File));if(u&&u.length){const e=u.filter(e=>e instanceof File);e&&e.length&&(n=await I(e,s,t,a))}return(null==(l=null==(r=[...n,...d])?void 0:r.map(e=>{var t,a,n;return null==(n=null==(a=null==(t=null==e?void 0:e.split(o))?void 0:t.join(""))?void 0:a.split(i))?void 0:n.join("")}))?void 0:l.filter(Boolean))||[]}catch(o){let e="Something went wrong during file upload.";throw o instanceof Error&&(e=o.message),new Error(e)}},E=e=>e&&h.default(e).isValid()?h.default(e).format("YYYY-MM-DD"):void 0,S=e=>e&&h.default(e).isValid()?h.default(e).format("HH:mm:ss"):void 0,q=e=>e&&h.default(e).isValid()?h.default(e).format("YYYY-MM-DD HH:mm:ss"):void 0;function F(e){if(!e)return!1;try{return JSON.parse(e)}catch(t){return!1}}const T=e=>{var t,a;return e instanceof Error?e.message:(null==(t=F(e))?void 0:t.message)?null==(a=F(e))?void 0:a.message:"string"==typeof e?e:"Something went wrong"},O=e=>{var t;if(null==e?void 0:e.symbol)return e.symbol;try{const e=JSON.parse(localStorage.getItem("user")||"{}");return(null==(t=null==e?void 0:e.currency_data)?void 0:t.symbol)||""}catch{return""}};function C(e){return Array.isArray(e)?e.map(e=>C(e)):b.default.isObject(e)?b.default.mapValues(e,(e,t)=>b.default.isObject(e)&&!h.default.isDayjs(e)?C(e):t.includes("date")&&e?h.default.utc(e):t.includes("_time")&&e?h.default(`${h.default().utc().format("YYYY-MM-DD")} ${e}`):e):e}const j=(e,t,a=[],n=!1)=>{let r=0,l=0;const o=a.map(a=>{const n=("Gross"===a.applies_to?t:e)*(a.rate/100);return r+=n,l+=a.rate,{id:a.id,name:a.name,rate:a.rate,tax_amount:n}});return n?o:{amount:r,rate:l}},M=()=>{const e=_.default.tz.guess(),a=_.default.tz.zone(e).utcOffset(_.default());return{"x-token":localStorage.getItem(t.auth.storageTokenKeyName)||void 0,"x-timezone":a}},R=async e=>{var t;try{const a=await n.postV1PartiesCheck({...M(),...e});return(null==(t=null==a?void 0:a.data)?void 0:t.party_exists)||!1}catch(a){throw new Error("An error occurred while checking for duplicates.")}},B=e=>{const{contact_no:t="",country_code:a=""}=e||{};return t?a?(null==a?void 0:a.includes("+"))?`${a}${t}`:`+${a}${t}`:(null==t?void 0:t.includes("+"))?t:`+${t}`:""},Y=(e,t)=>b.default.mapValues(e,e=>{if(b.default.isFunction(e))return e(t);if(b.default.isArray(e))return e.map(e=>b.default.get(t,e,null));if(b.default.isObject(e)&&!b.default.isFunction(e)&&!h.default.isDayjs(e))return Y(e,t);const a=b.default.get(t,e,null);return n=a,b.default.isNil(n)||""===n||b.default.isObject(n)&&b.default.isEmpty(n)?null:a;var n}),L=async(e,t)=>{const a=Object.entries(e).map(async([e,a])=>b.default.isFunction(a)?[e,await a(t)]:b.default.isArray(a)?[e,await Promise.all(a.map(async e=>b.default.get(t,e,null)))]:!b.default.isObject(a)||b.default.isFunction(a)||h.default.isDayjs(a)?[e,b.default.get(t,a,null)]:[e,await L(a,t)]);return Object.fromEntries(await Promise.all(a))},V=(e,t)=>{if(!e||!t)return!1;const a=h.default(e).startOf("day"),n=h.default(t).endOf("day"),r=h.default();return r.isAfter(a)&&r.isBefore(n)||r.isSame(a)||r.isSame(n)},P=(e=[])=>{const t=localStorage.getItem("_u_data"),a=t?JSON.parse(t):{},n=((null==a?void 0:a.module_access)||[]).filter(t=>e.includes(t.module_name)).map(e=>({...e,sub_modules:[...e.sub_modules||[],{sub_module_name:"dashboard"}]})),r=new Set(n.flatMap(e=>e.sub_modules.map(e=>e.sub_module_name))),l=JSON.parse(localStorage.getItem("role-permission")||"{}");return Array.from(r).filter(e=>Object.keys(l).some(t=>t.startsWith(e.split("/").pop())))},U=(e,t=[])=>{const a=new Set(P(t));return e.reduce((e,n)=>{var r;const l=n.bacSubModuleName&&a.has(n.bacSubModuleName),o=(null==(r=n.submenu)?void 0:r.length)?U(n.submenu,t):[];return(l||o.length)&&e.push({...n,submenu:o}),e},[])},W=(e,t)=>e?e.slice(0,t):"",z=(e,t,a)=>{if(null!=e){const n=String(e);t[n]?t[n].forEach(e=>{a.add(e)}):("boolean"==typeof e&&t[e]||"number"==typeof e&&t[e])&&t[e].forEach(e=>{a.add(e)})}else(null==t?void 0:t.NO_VALUE)&&t.NO_VALUE.forEach(e=>{a.add(e)})};exports.InvoiceStatus={Approved:"Approve",Rejected:"Reject"},exports.addOrEditArray=(e=[],t)=>{const{itemIndex:a,...n}=t,r=[...e];return r[a]?(r[a]={...n},r):[...r,n]},exports.appendConditionSafely=(e,t)=>{const a=e=>e.trim().replace(/^[(]|[)]$/g,"").split(/[&,]/).map(e=>e.trim()).filter(Boolean);if(!e||"string"!=typeof e||""===e.trim())return`(${t.trim().replace(/^([^\w(]+)/,"")})`;const n=new Set(a(e)),r=a(t).filter(e=>!n.has(e));return`(${[...n,...r].join("&")})`},exports.calculateAmountData=(e,t,a,n,r=[])=>{const l=e*t;let o=Number(a);"rate"===(null==n?void 0:n.discount_category)&&(o=a?l*(a/100):0);let i=l-o||0;i<0&&(i=0);const s=j(i,l,r),u=(null==s?void 0:s.amount)||0;return{grossAmount:i,taxAmount:u,taxRate:(null==s?void 0:s.rate)||0,discountAmount:o,netAmount:i+Number(u)||0,totalAmount:i+Number(u)||0}},exports.calculatePeriods=(e,t,a="Month")=>{const n=h.default(e),r=h.default(t);if(r.isBefore(n))return null;switch(a){case"Year":{const e=r.diff(n,"year"),t=r.diff(n.add(e,"year"),"month");return`${e} ${1===e?"Year":"Years"}${t>0?`, ${t} ${1===t?"Month":"Months"}`:""}`}case"Month":case"Calendar Month":{const e=r.diff(n,"month"),t=r.diff(n.add(e,"month"),"day");return`${e} ${1===e?"Month":"Months"}${t>0?`, ${t} ${1===t?"Day":"Days"}`:""}`}case"Week":{const e=r.diff(n,"week"),t=r.diff(n.add(e,"week"),"day");return`${e} ${1===e?"Week":"Weeks"}${t>0?`, ${t} ${1===t?"Day":"Days"}`:""}`}case"Day":{const e=r.diff(n,"hour"),t=Math.floor(e/24);return e%24>0?`${t+1} ${t+1===1?"Day":"Days"}`:`${t} ${1===t?"Day":"Days"}`}case"Hour":{const e=r.diff(n,"hour");return`${e} ${1===e?"Hour":"Hours"}`}default:return"Invalid mode"}},exports.checkDuplicateTracking=(e,t,a)=>{var n,r,l,o,i;let s=!1,u=null;const d="Serial Number Tracking"===t,c=d?"serial_number":"lot_number",m=d?null==(r=null==(n=null==e?void 0:e.add_stock_transfer)?void 0:n.lot_number)?void 0:r.serial_number:null==(o=null==(l=null==e?void 0:e.add_stock_transfer)?void 0:l.lot_number)?void 0:o.lot_number;return u=d?"This serial Number is already available":"This lot Number is already available",(null==(i=a[null==e?void 0:e.itemIndex])?void 0:i[c])==m?{isDuplicate:!1}:(["Serial Number Tracking","Lot Tracking"].includes(t)&&(s=a.some(e=>(null==e?void 0:e[c])===m)),{isDuplicate:s,errorMsg:u})},exports.checkForDuplicate=R,exports.checkSkuAndItemName=async e=>{var t;const a=await p.postV1InventoryItemsCheck({...e,...M()});return(null==(t=null==a?void 0:a.data)?void 0:t.item_exists)||null},exports.createdOnAndBy=e=>{var t;const{created_at:a="",created_user:n={},created_by_data:r={}}=e||{},{first_name:l="",last_name:s=""}=(null==(t=Object.keys(n))?void 0:t.length)?n:r,u=(null==l?void 0:l.trim())||"",d=(null==s?void 0:s.trim())||"",c=(null==a?void 0:a.trim())||"",m=`Created on ${i.formatDate(c,"DD MMM, YYYY")}`;return u||d?`${m} · ${o.formatText(`${u} ${d}`)}`:m},exports.defaultCompany=e=>{let t=e;if(!t)try{t=JSON.parse(localStorage.getItem("user")||"{}")}catch{return null}const a=(null==t?void 0:t.accessCompanies)||[],n=(null==t?void 0:t.company_id)||null;let r=n;return Array.isArray(a)&&(null==a?void 0:a.length)>0&&((null==a?void 0:a.includes(n))||(r=null==a?void 0:a[0])),r?Number(r):null},exports.defaultCurrencyFormat=e=>{var t;if(null==e?void 0:e.number_format)return e.number_format;try{const e=JSON.parse(localStorage.getItem("user")||"{}");return(null==(t=null==e?void 0:e.currency_data)?void 0:t.number_format)||""}catch{return""}},exports.defaultCurrencySymbol=O,exports.displayPhone=B,exports.downloadDoc=async({api:e,raw:t})=>{const a={"Content-Type":"application/json",...M()},n=await fetch(`http://127.0.0.1:4011/${e}`,{method:"POST",headers:a,body:t,redirect:"follow"});if(!n.ok)throw new Error(await n.text());const r=await n.blob(),l=window.URL.createObjectURL(r);window.open(l,"_blank"),setTimeout(()=>window.URL.revokeObjectURL(l),1e3)},exports.downloadFile=function(e,t=""){if(!e||""===e)return;const a=document.createElement("a");a.target="_blank",a.href=e,a.download=t,document.body.appendChild(a),a.click(),document.body.removeChild(a)},exports.fetchAssemblyItemData=async e=>{var t;const a=await p.getV1AssemblyItemsId({id:e,...M()});return(null==(t=null==a?void 0:a.data)?void 0:t.data)||null},exports.fetchCompanyLocations=async e=>{const t=await l.fetchApi({apiKey:"location",filters:{filters:{"&company_id.in":e}}});return(null==t?void 0:t.data)||[]},exports.fetchDataLocally=(e,t)=>{const{search:a="",limit:n=25,skip:r=0}=e;let l=t||[];if(a&&a.length>0){const e=a.toLowerCase();l=l.filter(t=>((null==t?void 0:t.label)||(null==t?void 0:t.name)||"").toLowerCase().includes(e))}const o=l.length;return{data:l.slice(r,r+n).map(e=>({...e,label:(null==e?void 0:e.label)||(null==e?void 0:e.name),value:(null==e?void 0:e.value)||(null==e?void 0:e.id)||(null==e?void 0:e.name)})),pagination:{totalCount:o}}},exports.fetchExchageRate=async(e,t="Buying")=>{try{const a=await n.postV1CurrencyInfo({currancy_id:e,type:t,...M()}),{exchange_rate:r=1,reverse_rate:l=1}=(null==a?void 0:a.data)||{};return{exchange_rate:r,reverse_rate:l}}catch(a){return{exchange_rate:1,reverse_rate:1}}},exports.fetchItems=async(e,t)=>{const a=await l.fetchApi({apiKey:"items",filters:{filters:{"&id.in":e},select:t}});return(null==a?void 0:a.data)||[]},exports.fetchOptions=async(e,t,a,n=!1)=>{const r=await l.fetchApi({apiKey:e,filters:{filters:t,select:a}});return n?null==r?void 0:r.data:Array.isArray(null==r?void 0:r.data)?null==r?void 0:r.data[0]:null},exports.fetchRentalResponseItems=async e=>{var t;try{const a=await c.getV1CrossHireRfqResponseItems({filters:e,...M()});return(null==(t=null==a?void 0:a.data)?void 0:t.rfq_response_items)??[]}catch(a){throw a}},exports.fetchRfqItemsByIdForResponse=async e=>{var t;try{const a=await m.getV1RfqResponseItems({filters:e,...M()});return(null==(t=null==a?void 0:a.data)?void 0:t.rfq_response_items)??[]}catch(a){throw a}},exports.filterAccessibleModules=U,exports.filterCoaByCompanyIdOrNull=(e,{companyId:t})=>(null==e?void 0:e.length)?e.filter(e=>{if(t){const a=Array.isArray(t)?t.map(Number):[Number(t)];return!e.company_ids||e.company_ids.some(e=>a.includes(e.id))}return!e.company_ids}):[],exports.findById=(e,t)=>e.find(e=>e.id==t),exports.formatAmount=(e="",t="",a="before",n)=>{if(""!==e&&null!=e||(e=0),"string"==typeof e&&(e=parseFloat(e.replace(/[^\d.-]/g,"")),isNaN(e)))return"";const r=parseFloat(e.toFixed(2));let l;switch(t){case"#,###.##":default:l=new Intl.NumberFormat("en-US",{minimumFractionDigits:2,maximumFractionDigits:2});break;case"#.###,##":l=new Intl.NumberFormat("de-DE",{minimumFractionDigits:2,maximumFractionDigits:2});break;case"# ###.##":l=new Intl.NumberFormat("fr-FR",{minimumFractionDigits:2,maximumFractionDigits:2});break;case"# ###,##":l=new Intl.NumberFormat("es-ES",{minimumFractionDigits:2,maximumFractionDigits:2});break;case"#’ ###. ##":l=new Intl.NumberFormat("de-CH",{minimumFractionDigits:2,maximumFractionDigits:2});break;case"#, ###.##":l=new Intl.NumberFormat("en-GB",{minimumFractionDigits:2,maximumFractionDigits:2})}let o=l.format(r);return"# ###.##"!==t&&"# ###,##"!==t||(o=o.replace(/\u00A0/g," ")),"#’ ###. ##"===t&&(o=o.replace(/\u00A0/g," ").replace(/'/g,"’")),"#, ###.##"===t&&(o=o.replace(/,/g,", ")),n?"after"===a?`${o} ${n}`:`${n} ${o}`:o},exports.formatAmountWithCurrency=(e,t)=>{if(!e)return`${t||""}`;const a=O();return`${t||a} ${Number(e).toFixed(2)}`},exports.formatAmountWithCurrencyData=(e,t)=>e?`${t||""} ${Number(e).toFixed(2)}`:"",exports.formatDateForPayload=E,exports.formatDateTimeForPayload=q,exports.formatEmptyDataToNull=function e(t){return Array.isArray(t)?t.map(t=>e(t)):b.default.isObject(t)?b.default.mapValues(t,(t,a)=>Array.isArray(t)?t:!b.default.isObject(t)||h.default.isDayjs(t)||t instanceof File?t||0===t||!1===t?a.includes("_id")&&!a.includes("_ids")||a.includes("_amount")?Array.isArray(t)?t.map(Number):Number(t):a.includes("date_time")?q(t):a.includes("date")?E(t):a.includes("_time")?S(t):Array.isArray(t)?t.length?t:[]:t:null:e(t)):t},exports.formatResponseDatesToDayJS=C,exports.formatResponseOnlyDatesToDayJS=function(e){return Array.isArray(e)?e.map(e=>C(e)):b.default.isObject(e)?b.default.mapValues(e,(e,t)=>b.default.isObject(e)&&!h.default.isDayjs(e)?C(e):t.includes("date")&&e?h.default(e):e):e},exports.formatTimeForPayload=S,exports.generateAndFormatStringFromObj=(e={},t=[])=>{let a="";return null==t||t.forEach(t=>{(null==e?void 0:e[t])&&(a=a?a+` ${null==e?void 0:e[t]}`:null==e?void 0:e[t])}),a},exports.generateFields=e=>{const t=[{name:"null",label:"is null"},{name:"notNull",label:"is not null"}],a=[{name:"contains",label:"contains"},{name:"beginsWith",label:"begins with"},{name:"endsWith",label:"ends with"},{name:"doesNotContain",label:"does not contain"},{name:"doesNotBeginWith",label:"does not begin with"},{name:"doesNotEndWith",label:"does not end with"},...t],n=[{name:"=",label:"equal to"},{name:"<",label:"less than"},{name:"<=",label:"less than or equal to"},{name:">",label:"greater than"},{name:">=",label:"greater than or equal to"},...t],r=[{name:"in",label:"in"},{name:"notIn",label:"not in"},...t],l=[{name:"in",label:"in"}],o=[{name:"=",label:"on"},{name:"!=",label:"not on"},{name:"<",label:"before"},{name:"<=",label:"on or before"},{name:">",label:"after"},{name:">=",label:"on or after"},...t];return e.filter(e=>e.isFilterAllowed&&(null==e?void 0:e.type)).map(e=>{let{type:i,values:s}=e;const{is_aggregate:u=!1,table:d=null}=e,{key:c,label:m,fieldType:p}=e;let f,y,v,h;if(null==e?void 0:e.enum){i="select";let t=e.enum;t&&!Array.isArray(t)&&"object"==typeof t&&(t=Object.values(t)),s=t.map(e=>({name:e,label:e}))}switch("select"===p&&(i="select",s=null==e?void 0:e.options),(null==e?void 0:e.boolean)&&(i="select",s=(null==e?void 0:e.values)||[]),(null==e?void 0:e.table)&&(i="table"),i){case"string":default:f=a,y="text",v="text";break;case"number":f=n,y="text",v="number";break;case"select":f=r,y="select",v="select";break;case"table":f=l,y="select",v="select";break;case"datetime":case"date":f=o,y="text",v="date",h="date";break;case"boolean":f=[...l,...t],y="select",v="select"}return{name:c.replace("__replaceKey",""),label:m,valueEditorType:y,operators:f,inputType:v,datatype:h,comparator:"datatype",values:s,is_aggregate:u,table:d}})},exports.generateQueryString=e=>{const t={null:"eq",notNull:"ne",contains:"like",beginsWith:"like",endsWith:"like",doesNotContain:"ne",doesNotBeginWith:"ne",doesNotEndWith:"ne","<":"lt","<=":"lte",">":"gt",">=":"gte","=":"eq","!=":"ne",in:"in",notIn:"nin"},a=e=>e.map(e=>{let n=e.value;if(Array.isArray(n)&&(n=n.map(e=>("object"==typeof e&&(e=e.name),e))),e.rules){const t="or"===e.combinator?"|":"&";return`${a(e.rules).join(t)}`}{let a=t[e.operator];"in"!==a&&"notIn"!==a||"string"!=typeof n||(a="eq"),"null"!==e.operator&&"notNull"!==e.operator||(n=null);const r=((e,t)=>["in","notIn"].includes(e)?`[${t}]`:["like","ilike"].includes(e)?"beginsWith"===e?`${t}%`:"endsWith"===e?`%${t}`:`%${t}%`:"null"===e||"notNull"===e?"":t)(a,n);return`${e.field}.${a}=${r}`}}),n="or"===e.combinator?"|":"&";return`(${a(e.rules).join(n)})`.replace(/ /g,"---")},exports.generateRandomId=(e="")=>{const t=`${Date.now()}${e}${Math.random()}`.replace(".",""),a=Number(t.replace(e,""));return{uniqueStringId:t,uniqueNumberId:a}},exports.getAccessibleModules=P,exports.getCountryIdByName=async e=>{var t,a,n;const r=await f.getV1LocationsCountries({filters:`(name.like=%${e}%)`,...M()});return(null==(n=null==(a=null==(t=null==r?void 0:r.data)?void 0:t.countries)?void 0:a[0])?void 0:n.id)||null},exports.getErrorMessage=T,exports.getExcelExportTemplate=async e=>{const t={};void 0!==e["x-token"]&&(t["x-token"]=e["x-token"],delete e["x-token"]),void 0!==e["Content-Type"]&&(t["Content-Type"]=e["Content-Type"],delete e["Content-Type"]);const a=window.location.pathname.split("/"),n=a.pop(),r=a[3];let l=a[2];"demand-planning"==n&&(l="purchase"),"crm"==l&&(l="sales"),"procurement"==l&&(l="purchase");let o="";if(n&&s.specificFilters[n]&&(o=s.specificFilters[n]),"items"!==n&&"item"!==n||((null==e?void 0:e.title)&&"Non Inventory"==(null==e?void 0:e.title)?e.title="non-inventory":(null==e?void 0:e.title)&&"Assembly (Finished product)"==(null==e?void 0:e.title)&&(e.title="assembly"),o+=`&type.eq=${null==e?void 0:e.title.toLowerCase()}`),e.filterQueryString){const t=e.filterQueryString.replace(/[{}()]/g,"");o=o?`(${o}&${t})`:`(${t})`}else o=`(${o})`;o.includes("is_variant.eq=false|self_variant.eq=true")&&(o="rental"==l?o.replace("is_variant.eq=false|self_variant.eq=true","(is_variant.eq=false|self_variant.eq=true&is_rental.eq=1)"):o.replace("is_variant.eq=false|self_variant.eq=true","(is_variant.eq=false|self_variant.eq=true)")),!n||s.specificFilters[n]||e.filterQueryString||(o="");let i=s.subModuleMappings[n||""]||n;"sales"==l&&"quotation"==i&&(o="(is_rental.eq=0)"),"sales"==l&&"sales-orders"==i&&(o="(is_rental.eq=0)"),"rental"==l&&"rental-lead"==i&&(o="(is_rental.eq=1)"),"sales"==l&&"lead"==i&&(o="(is_rental.eq=0)"),"purchase"!==l||"purchase-requests"!==i&&"rfq"!==i&&"purchase-orders"!==i||(o="(is_rental.eq=0)"),"rental"==l&&"quotation"==i&&(i="rental-quotations"),"rental"==l&&"opportunity"==i&&(i="rental-opportunity"),"rental"==l&&"item"==i&&(l="inventory",i="inventory-items"),"rental"==l&&"category"==i&&(l="inventory",i="category-items"),"rental"==l&&"purchase-requests"==i&&(i="cross-hire-requests",o="(is_rental.eq=1)"),"rental"==l&&"rfq"==i&&"purchase"!=r&&(i="cross-hire-rfq",o="(is_rental.eq=1)"),"rental"==l&&"rfq"==i&&"purchase"==r&&(l="purchase",o="(is_rental.eq=0)"),"rental"==l&&"orders"==i&&"Rental Orders"!==e.title&&"Replacement Orders"!==e.title&&(i="cross-hire-orders",o="(is_rental.eq=1)"),"rental"!=l||"orders"!=i&&"cross-hire-orders"!=i||"purchase"!=r||(l="purchase",i="purchase-orders",o="(is_rental.eq=0)"),"rental"==l&&"rental-quotations"==i&&"Quotations"==e.title&&(o="(is_visible.eq=1&is_rental.eq=1&is_replacement.eq=0)"),"rental"==l&&"rental-quotations"==i&&"Replacement Quotations"==e.title&&(o="(is_visible.eq=1&is_rental.eq=1&is_replacement.eq=1)"),"rental"==l&&"orders"==i&&"Rental Orders"==e.title&&(i="rental-orders",o="(is_rental.eq=1&is_replacement.eq=0)"),"rental"==l&&"orders"==i&&"Replacement Orders"==e.title&&(i="rental-orders",o="(is_rental.eq=1&is_replacement.eq=1)");const u={};e.selectedIds&&o?e.selectedIds.length>0&&(o=`(${o}&id.in=${e.selectedIds})`):e.selectedIds&&e.selectedIds.length>0&&(o=`(id.in=${e.selectedIds})`),o&&(u.filters=o);const d=new URLSearchParams(u).toString(),c=await fetch(`http://127.0.0.1:4011/${l}/v1/${i}/generate-excel${d?`?${d}`:""}`,{headers:t});if(!c.ok)throw new Error(await c.text());return await c},exports.getExcelTemplateGenerateTemplate=async e=>{const t={};void 0!==e["x-token"]&&(t["x-token"]=e["x-token"],delete e["x-token"]),void 0!==e["Content-Type"]&&(t["Content-Type"]=e["Content-Type"],delete e["Content-Type"]);const a=await fetch(`http://127.0.0.1:4011/accounting/v1/excel-template/generate-template?resource=${e.resource.toString()}`,{headers:t});if(!a.ok)throw new Error(await a.text());return await a},exports.getFieldFilters=(e,t)=>{var a,n;if(!(null==e?void 0:e.length))return Array.isArray(t)?/* @__PURE__ */new Map:{};const r=/* @__PURE__ */new Map;return Array.isArray(t)&&(null==t?void 0:t.length)?(t.forEach(t=>{var a,n;const l=(null==(n=null==(a=e.find(e=>e.name===t))?void 0:a.field_properties)?void 0:n.customeFilter)||{};r.set(t,l)}),r):(null==(n=null==(a=e.find(e=>e.name===t))?void 0:a.field_properties)?void 0:n.customeFilter)||{}},exports.getFileName=e=>{if(!e)return"";if(e instanceof File)return e.name;if("string"==typeof e){const t=null==e?void 0:e.split("/");return null==t?void 0:t[(null==t?void 0:t.length)-1]}return Array.isArray(e)&&(null==e?void 0:e.length)>0?e.map(e=>{if(e instanceof File)return e.name;const t=null==e?void 0:e.split("/");return null==t?void 0:t[(null==t?void 0:t.length)-1]}).join(", "):void 0},exports.getLabelValuePairs=(e,t,a,n,r)=>b.default.map(e,e=>{const t=r?r(e):b.default.compact(a.map(t=>b.default.get(e,t,""))).filter(e=>Boolean(null==e?void 0:e.trim())).join(", ");return{...e,label:t,value:b.default.get(e,n,null)}})||t,exports.getName=(e,t)=>b.default.isEmpty(e)?"-":t.map(t=>null==e?void 0:e[t]).filter(e=>Boolean(e&&(null==e?void 0:e.trim()))).join(" "),exports.getNestedValue=function(e,t){return t.split(".").reduce((e,t)=>e&&void 0!==e[t]?e[t]:void 0,e)},exports.getNextScheduleDate=(e,t)=>{switch(null==t?void 0:t.duration){case"Hour":return h.default(e).add(1,"hour");case"Day":return h.default(e).add(1,"day");case"Week":return h.default(e).add(1,"week");case"2 Week":return h.default(e).add(2,"week");case"Month":return h.default(e).add(30,"day");case"Calendar Month":return h.default(e).endOf("month").add(1,"day").startOf("day");case"Quarter":case"3 Month":return h.default(e).add(3,"month");case"6 Month":return h.default(e).add(6,"month");case"Year":case"1 Year":return h.default(e).add(1,"year");case"3 Year":return h.default(e).add(3,"year");case"5 Year":case"5Year":return h.default(e).add(5,"year");default:return h.default(e).add(1,"month")}},exports.getOperatorLabel=(e,t)=>{var a,n,r,l,o,i,s;const u=[{name:"null",label:"Is null"},{name:"notNull",label:"Is not null"}],d=[{name:"contains",label:"Contains"},{name:"beginsWith",label:"Begins with"},{name:"endsWith",label:"Ends with"},{name:"doesNotContain",label:"Does not contain"},{name:"doesNotBeginWith",label:"Does not begin with"},{name:"doesNotEndWith",label:"Does not end with"},...u],c=[{name:"=",label:"Equal to"},{name:"<",label:"Less than"},{name:"<=",label:"Less than or equal to"},{name:">",label:"Greater than"},{name:">=",label:"Greater than or equal to"},...u],m=[{name:"in",label:"In"},{name:"notIn",label:"Not in"},...u],p=[{name:"in",label:"In"}],f=[{name:"=",label:"On"},{name:"!=",label:"Not on"},{name:"<",label:"Before"},{name:"<=",label:"On or before"},{name:">",label:"After"},{name:">=",label:"On or after"},...u],y=[{name:"=",label:"is"},...u],{field:v,operator:h}=e,b=null==t?void 0:t.find(e=>e.key.replace("__replaceKey","")==v);let g="";if(b){let{type:e}=b||{};const{fieldType:t}=b;switch((null==b?void 0:b.enum)&&(e="select"),"select"===t&&(e="select"),(null==b?void 0:b.boolean)&&(e="select"),(null==b?void 0:b.table)&&(e="table"),e){case"string":g=(null==(a=d.find(e=>e.name==h))?void 0:a.label)||"";break;case"number":g=(null==(n=c.find(e=>e.name==h))?void 0:n.label)||"";break;case"select":g=(null==(r=m.find(e=>e.name==h))?void 0:r.label)||"";break;case"table":g=(null==(l=p.find(e=>e.name==h))?void 0:l.label)||"";break;case"datetime":g=(null==(o=f.find(e=>e.name==h))?void 0:o.label)||"";break;case"date":g=(null==(i=f.find(e=>e.name==h))?void 0:i.label)||"";break;case"boolean":g=(null==(s=y.find(e=>e.name==h))?void 0:s.label)||""}}return g},exports.getOptionsData=async(e,t,a,n=!1)=>{const r=await l.fetchApi({apiKey:e,filters:{filters:{"&id.in":t},select:a}});return n?null==r?void 0:r.data:Array.isArray(null==r?void 0:r.data)?null==r?void 0:r.data[0]:null},exports.getPartyDependentData=async(e,t)=>{var a,r,l;let o=[],i=[],s=(null==t?void 0:t.currencies)||[],u=(null==t?void 0:t.companies)||[],d=null,c=null,m=null,p=null;const f=await n.getV1PartiesId({id:e,...M()}),y=(null==(l=null==(r=null==(a=null==f?void 0:f.data)?void 0:a.parties)?void 0:r.party)?void 0:l.data)||null;if(y){const{payment_term:e=null,party_address_data:t=[],party_contact_data:a=[],currencies_data:n=[],companies_data:r=[],salesperson:l=null}=y;o=t,i=a,s=n,u=r,m=e,d=null==t?void 0:t.find(e=>Boolean(null==e?void 0:e.default_shipping_address)),c=null==t?void 0:t.find(e=>Boolean(null==e?void 0:e.default_billing_address)),p=l}return{addresses:o,contacts:i,currencies:s,currencyIds:s.map(e=>e.id),companies:u,companyIds:u.map(e=>e.id),paymentTerm:m,defaultShipping:d,defaultBilling:c,salesperson:p}},exports.getPartyName=function(e){if(!e)return"";const{name:t="",first_name:a="",middle_name:n="",last_name:r="",company_name:l=""}=e,o=(null==t?void 0:t.trim())||"",i=(null==a?void 0:a.trim())||"",s=(null==n?void 0:n.trim())||"",u=(null==r?void 0:r.trim())||"",d=(null==l?void 0:l.trim())||"";return"Individual"===(null==e?void 0:e.account_type)?[i,s,u].filter(Boolean).join(" "):"Company"===(null==e?void 0:e.account_type)?d:o||(i?[i,s,u].filter(Boolean).join(" "):d||"")},exports.getSlicedValue=W,exports.getTaxAmountDataFromMultipleTaxCodes=j,exports.getTaxAmountFromMultipleTaxCodes=(e,t=[],a=!1)=>{if(!e)return 0;let n=0;const r=null==t?void 0:t.map(t=>{const a=e*(t.rate/100);return n+=a,{id:t.id,name:t.name,rate:t.rate,tax_amount:a}});return a?r:n},exports.getToken=M,exports.handleRegularUpload=I,exports.hasValue=(e,t=[])=>{const a=(e,t)=>b.default.isArray(e)?b.default.some(e,e=>a(e,t)):b.default.isPlainObject(e)?b.default.some(e,(e,n)=>!t.includes(n)&&a(e,t)):!b.default.isNil(e)&&!b.default.isEmpty(e);return a(e,t)},exports.isBetweenTheDates=V,exports.isJSONString=F,exports.isJsonParse=e=>{if(!e)return!1;try{return JSON.parse(e)}catch(t){return!1}},exports.manageItems=({key:e,action:t,value:a,items:n=[],itemIndex:r})=>{switch(t){case"add":return[...n,a];case"update":return n.map((t,n)=>(r>=0?r===n:t[e]===a[e])?a:t);case"delete":return void 0!==(null==a?void 0:a.index)?n.filter((e,t)=>t!==a.index):n.filter(t=>t[e]!==a[e]);default:return n}},exports.mapApiPayload=Y,exports.mapAsyncApiPayload=L,exports.matchedMaterialCostingTypeLabel=e=>{var t;return(null==(t=y.INVENTORY_MATERIAL_COSTING_TYPE_OPTIONS.find(t=>t.value===e))?void 0:t.label)||null},exports.omitDataKeys=function e(t,a){const n=["created_at","updated_at","created_by","created_user","updated_by","updated_user","is_deleted","deleted_user","deleted_by","deleted_at",...a||[]];return Array.isArray(t)?t.map(t=>e(t,a)):b.default.isObject(t)&&!Array.isArray(t)?b.default.mapValues(b.default.omitBy(t,(e,t)=>n.includes(t)||t.endsWith("_data")||t.endsWith("_status")),t=>b.default.isObject(t)&&!h.default.isDayjs(t)?e(t,a):t):t},exports.partyDuplicateCheck=async(e,t,a)=>{var n,r,l;const o={...t};if(0!==e||!(null==o?void 0:o.contact_no)&&!(null==o?void 0:o.company_name))return null;if(0!==e||!(null==o?void 0:o.contact_no)&&(null==o?void 0:o.company_name)&&"Company"!==(null==o?void 0:o.account_type))return null;const i=g.default((null==(n=null==o?void 0:o.contact_no)?void 0:n.includes("+"))?null==o?void 0:o.contact_no:`+${null==o?void 0:o.contact_no}`);o.contact_no=(null==i?void 0:i.nationalNumber)||"",o.country_code=(null==i?void 0:i.countryCallingCode)||"";const s=(null==a?void 0:a.contact_no)||"",u=B(o),d=!a||(null==s?void 0:s.trim())!==(null==u?void 0:u.trim()),c=!a||(null==(r=null==a?void 0:a.company_name)?void 0:r.trim())!==(null==(l=null==o?void 0:o.company_name)?void 0:l.trim());if(!d&&!c)return null;const m=(null==i?void 0:i.nationalNumber)?(null==i?void 0:i.countryCallingCode)?`+${null==i?void 0:i.countryCallingCode}`:"":null==o?void 0:o.country_code,p=(null==i?void 0:i.nationalNumber)||(null==o?void 0:o.contact_no),f={party:{account_type:null==o?void 0:o.account_type,...d&&m?{country_code:m}:{},...d&&p?{contact_no:p}:{},..."Company"===(null==o?void 0:o.account_type)&&c?{company_name:null==o?void 0:o.company_name}:{}}};try{if(await R(f)){const e="Company"===(null==o?void 0:o.account_type)?(null==i?void 0:i.nationalNumber)?"company name or phone":"company name":"phone number";return`Added ${e} already exists. Please add a different ${e}.`}}catch(y){return y.message||"An error occurred while checking for duplicates."}return null},exports.partyEmailIds=e=>{if(!e)return"";try{const t=JSON.parse(e);return Array.isArray(t)?t.join(", "):""}catch{return e}},exports.postImportSheet=async(e,t)=>{let a=window.location.pathname.split("/")[2];const n=window.location.pathname.split("/")[3];let r="";"crm"==a&&(a="sales"),"procurement"==a&&(a="purchase"),"rental"==a&&"item"==n&&(a="inventory"),"rental"==a&&"quotation"==t&&(t="rental-quotations"),"rental"==a&&"lead"==t&&(t="rental-lead"),"rental"==a&&"rfq"==t&&(a="purchase"),"rental"==a&&"purchase-orders"==t&&(a="purchase"),"rental"==a&&"opportunity"==t&&(t="rental-opportunity"),"collection-entries"==t&&(t="payment-entries",r="receive");const l=`http://127.0.0.1:4011/${a}`,o={};o["x-token"]=w;const i=await fetch(`${l}/v1/${t}/import${r?`?type=${r}`:""}`,{method:"POST",body:e,headers:o});if(!i.ok)throw new Error(await i.text());return await i.json()},exports.remainingMaterialCostingTypes=e=>y.INVENTORY_MATERIAL_COSTING_TYPE_ARR.filter(t=>t!==e),exports.removeIdFromObject=e=>null==e?void 0:e.map(e=>({...e,id:void 0})),exports.removeIdStaticIdsFromMongoObject=e=>e.map(e=>"number"==typeof e._id?{...e,_id:null}:e),exports.setRateBasedOnPriceRules=(e,t,a)=>{let n=e;if(null==t?void 0:t.length){const e=b.default.orderBy(t,["minimum_quantity"],["desc"]);for(const t of e)if(Number(a)>=Number(null==t?void 0:t.minimum_quantity)&&V(null==t?void 0:t.start_date,null==t?void 0:t.end_date)){n=Number(null==t?void 0:t.unit_price)||void 0;break}}return n},exports.showSnackBar=e=>{const t=T(null==e?void 0:e.message);r.enqueueSnackbar(t,{variant:"error"})},exports.skuGenerator=({name:e,category:t,sequence:a="0001"})=>{const n=t.replace(/[^a-zA-Z0-9]/g,""),r=e.replace(/[^a-zA-Z0-9]/g,"");return`${W(n,3).toUpperCase()}-${W(r,3).toUpperCase()}-${a}`},exports.toFixedWithNumbers=e=>{var t;return e>0?null==(t=Number(e))?void 0:t.toFixed(2):e},exports.updateFieldsDisabledState=({data:e,materialCostingType:t,formValues:a,fieldsConfig:n=y.INVENTORY_FIELDS_TO_BE_DISABLED,isEditMode:r=!1,isAddMode:l=!1,alwaysDisabledFields:o=y.INVENTORY_ALWAYS_DISABLED_FIELDS,editModeDisabledFields:i=y.INVENTORY_EDIT_MODE_DISABLED_FIELDS,addModeDisabledFields:s=y.INVENTORY_ADD_MODE_DISABLED_FIELDS})=>{var u;const d=/* @__PURE__ */new Set,c=new Set((null==(u=null==e?void 0:e.filter(e=>{var a;return(null==(a=null==e?void 0:e.field_properties)?void 0:a.type)===t}))?void 0:u.map(e=>null==e?void 0:e.name))||[]),m=new Set((null==e?void 0:e.map(e=>null==e?void 0:e.name))||[]);return Object.entries(n).forEach(([e,n])=>{if(e===t)Object.entries(n).forEach(([e,t])=>{if(c.has(e)){const n=null==a?void 0:a[e];z(n,t,d)}});else if(m.has(e)){const t=null==a?void 0:a[e];z(t,n,d)}}),e.map(e=>{const t=o.includes(e.name),a=r&&i.includes(e.name),n=l&&s.includes(e.name),u=d.has(e.name),c=t||a||n||u;return{...e,disabled:c,disableTableAddButton:c,disableDefaultActionColumn:c||Boolean(null==e?void 0:e.disableDefaultActionColumn)}})},exports.uploadAttachments=async e=>{let t=(null==e?void 0:e.filter(e=>!(e instanceof File)))||[];const a=(null==e?void 0:e.filter(e=>e instanceof File))||[];t=t.map(e=>e.replace("https://erpforce-dev.s3.eu-west-1.amazonaws.com/",""));let n=[];return a.length&&(n=await k(a,"sales")),n=[...n,...t],Array.isArray(n)&&(null==n?void 0:n.length)?n.join(","):null},exports.uploadFiles=k,exports.validateDiscountValidity=(e,t,a)=>{const n=/* @__PURE__ */new Date,r=new Date(e);let l;switch(t){case"DAYS_AFTER_INVOICE_DATE":l=new Date(r),l.setDate(l.getDate()+parseInt(a));break;case"DAYS_AFTER_INVOICE_MONTH":l=new Date(r.getFullYear(),r.getMonth()+1,parseInt(a));break;case"MONTHS_AFTER_INVOICE_MONTH":l=new Date(r),l.setMonth(l.getMonth()+parseInt(a)),l=new Date(l.getFullYear(),l.getMonth()+1,0);break;default:throw new Error("Invalid discount_due_date_based_on value")}return n<=l};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("dayjs"),t=require("../../constants/auth/index.js"),a=require("lodash"),n=require("../../api-client/api.accounting/api/index.js"),r=require("../../node_modules/notistack/notistack.esm/index.js"),l=require("../api/index.js"),o=require("../format-text/index.js"),i=require("../dateFormat/index.js"),s=require("../export-filters/index.js"),u=require("libphonenumber-js"),d=require("moment-timezone"),c=require("../../api-client/api.rental/api/index.js"),m=require("../../api-client/api.purchase/api/index.js"),p=require("../../api-client/api.inventory/api/index.js"),f=require("../../api-client/api.rbac/api/index.js"),y=require("../constant/index.js");function v(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var h=/* @__PURE__ */v(e),b=/* @__PURE__ */v(a),g=/* @__PURE__ */v(u),_=/* @__PURE__ */v(d);const w=localStorage.getItem(t.auth.storageTokenKeyName)||void 0,x=e=>{const t=e.split("/");return t.length?(t.splice(0,t.length-2),t.join("/")):e};async function A(e,t,a,n){let r;for(let o=0;o<=a;o++)try{const n=await fetch(e,t);if(n.status>=500&&o<a)throw new Error(`Server error: ${n.status} ${n.statusText}`);return n}catch(l){if(r=l,"AbortError"===l.name)throw l;if(o<a){const e=n*Math.pow(2,o);await new Promise(t=>setTimeout(t,e))}}throw r}const I=async(e,a,n,r={})=>{const l=`https://apidev.erpforce.co/${n}/v1/file-upload/`,o=`https://apidev.erpforce.co/${n}/v1/file-upload/mark-complete`,i=localStorage.getItem(t.auth.storageTokenKeyName),{onProgress:s,chunkSize:u=5242880,retryAttempts:d=3,retryDelay:c=1e3}=r;if(!i)throw new Error("Authentication token not found. Please log in again.");try{const t=[];for(let n=0;n<e.length;n++){const r=e[n];if(a.signal.aborted)throw new Error("Upload cancelled by user");try{const m=await N(r,n,e.length,a,l,o,i,u,d,c,s);t.push(m)}catch(m){throw new Error(`Failed to upload ${r.name}: ${m.message}`)}}return t}catch(p){throw new Error(p.message||"Upload failed")}},N=async(e,t,a,n,r,l,o,i,s,u,d)=>{var c,m;const p=e.size>i,f=p?Math.ceil(e.size/i):1,y=await A(`${r}?key=${encodeURIComponent(e.name)}&partCount=${f}&mimeType=${encodeURIComponent(e.type)}`,{method:"GET",headers:{"Content-Type":"application/json","file-size":e.size.toString(),"x-token":o},signal:n.signal},s,u);if(!y.ok){const e=await y.json().catch(()=>({}));throw new Error(`Failed to get pre-signed URL: ${e.message||y.statusText}`)}const v=await y.json(),h=null==(c=null==v?void 0:v.data)?void 0:c.preSignedData;if(!h)throw new Error("Invalid pre-signed URL response format");const{uploadId:b,preSignedUrls:g,presignedUrl:_,location:w}=h;return p?await $(e,t,a,b,g,n,l,o,i,s,u,d):await D(e,t,a,_||(null==(m=null==g?void 0:g[0])?void 0:m.presignedUrl),w,n,d)},D=async(e,t,a,n,r,l,o)=>{if(!n)throw new Error("No presigned URL provided for single part upload");const i=await fetch(n,{method:"PUT",body:e,headers:{"Content-Type":e.type||"application/octet-stream","Content-Length":e.size.toString()},signal:l.signal});if(!i.ok)throw new Error(`Single part upload failed: ${i.statusText}`);if(null==o||o({fileName:e.name,progress:100,bytesUploaded:e.size,totalBytes:e.size,fileIndex:t+1,totalFiles:a}),!r)throw new Error("No location provided for single part upload");return x(r)},$=async(e,t,a,n,r,l,o,i,s,u,d,c)=>{var m;if(!n||!r||0===r.length)throw new Error("Invalid multipart upload data: missing uploadId or preSignedUrls");let p=0;for(let h=0;h<r.length;h++){if(l.signal.aborted)throw new Error("Upload cancelled by user");const{partNumber:n,presignedUrl:o}=r[h],i=h*s,m=Math.min(i+s,e.size),f=e.slice(i,m);try{const r=await A(o,{method:"PUT",body:f,headers:{"Content-Type":"application/octet-stream","Content-Length":f.size.toString()},signal:l.signal},u,d);if(!r.ok)throw new Error(`Part ${n} upload failed: ${r.statusText}`);p+=f.size;const i=Math.round(p/e.size*100);null==c||c({fileName:e.name,progress:i,bytesUploaded:p,totalBytes:e.size,fileIndex:t+1,totalFiles:a})}catch(v){if("AbortError"===v.name)throw new Error("Upload cancelled by user");throw new Error(`Failed to upload part ${n}: ${v.message}`)}}const f=await A(o,{method:"POST",headers:{"Content-Type":"application/json","x-token":i},body:JSON.stringify({fileName:e.name,uploadId:n}),signal:l.signal},u,d);if(!f.ok){const e=await f.json().catch(()=>({}));throw new Error(`Failed to complete multipart upload: ${e.message||f.statusText}`)}const y=await f.json();if(!(null==(m=y.data)?void 0:m.location))throw new Error("Invalid completion response format - no location received");return x(y.data.location)},k=async(e,t="sales",a={})=>{var n,r,l;if(Array.isArray(e)&&0===(null==(n=null==e?void 0:e.filter(e=>e))?void 0:n.length))return[];try{let n=[];const o="https://erpforce-dev.s3.eu-west-1.amazonaws.com/",i=null==o?void 0:o.replace("https://",""),s=new AbortController,u=e?Array.isArray(e)?e:[e]:[],d=u.filter(e=>!(e instanceof File));if(u&&u.length){const e=u.filter(e=>e instanceof File);e&&e.length&&(n=await I(e,s,t,a))}return(null==(l=null==(r=[...n,...d])?void 0:r.map(e=>{var t,a,n;return null==(n=null==(a=null==(t=null==e?void 0:e.split(o))?void 0:t.join(""))?void 0:a.split(i))?void 0:n.join("")}))?void 0:l.filter(Boolean))||[]}catch(o){let e="Something went wrong during file upload.";throw o instanceof Error&&(e=o.message),new Error(e)}},E=e=>e&&h.default(e).isValid()?h.default(e).format("YYYY-MM-DD"):void 0,S=e=>e&&h.default(e).isValid()?h.default(e).format("HH:mm:ss"):void 0,q=e=>e&&h.default(e).isValid()?h.default(e).format("YYYY-MM-DD HH:mm:ss"):void 0;function F(e){if(!e)return!1;try{return JSON.parse(e)}catch(t){return!1}}const T=e=>{var t,a;return e instanceof Error?e.message:(null==(t=F(e))?void 0:t.message)?null==(a=F(e))?void 0:a.message:"string"==typeof e?e:"Something went wrong"},O=e=>{var t;if(null==e?void 0:e.symbol)return e.symbol;try{const e=JSON.parse(localStorage.getItem("user")||"{}");return(null==(t=null==e?void 0:e.currency_data)?void 0:t.symbol)||""}catch{return""}};function C(e){return Array.isArray(e)?e.map(e=>C(e)):b.default.isObject(e)?b.default.mapValues(e,(e,t)=>b.default.isObject(e)&&!h.default.isDayjs(e)?C(e):t.includes("date")&&e?h.default.utc(e):t.includes("_time")&&e?h.default(`${h.default().utc().format("YYYY-MM-DD")} ${e}`):e):e}const j=(e,t,a=[],n=!1)=>{let r=0,l=0;const o=a.map(a=>{const n=("Gross"===a.applies_to?t:e)*(a.rate/100);return r+=n,l+=a.rate,{id:a.id,name:a.name,rate:a.rate,tax_amount:n}});return n?o:{amount:r,rate:l}},M=()=>{const e=_.default.tz.guess(),a=_.default.tz.zone(e).utcOffset(_.default());return{"x-token":localStorage.getItem(t.auth.storageTokenKeyName)||void 0,"x-timezone":a}},R=async e=>{var t;try{const a=await n.postV1PartiesCheck({...M(),...e});return(null==(t=null==a?void 0:a.data)?void 0:t.party_exists)||!1}catch(a){throw new Error("An error occurred while checking for duplicates.")}},B=e=>{const{contact_no:t="",country_code:a=""}=e||{};return t?a?(null==a?void 0:a.includes("+"))?`${a}${t}`:`+${a}${t}`:(null==t?void 0:t.includes("+"))?t:`+${t}`:""},Y=(e,t)=>b.default.mapValues(e,e=>{if(b.default.isFunction(e))return e(t);if(b.default.isArray(e))return e.map(e=>b.default.get(t,e,null));if(b.default.isObject(e)&&!b.default.isFunction(e)&&!h.default.isDayjs(e))return Y(e,t);const a=b.default.get(t,e,null);return n=a,b.default.isNil(n)||""===n||b.default.isObject(n)&&b.default.isEmpty(n)?null:a;var n}),L=async(e,t)=>{const a=Object.entries(e).map(async([e,a])=>b.default.isFunction(a)?[e,await a(t)]:b.default.isArray(a)?[e,await Promise.all(a.map(async e=>b.default.get(t,e,null)))]:!b.default.isObject(a)||b.default.isFunction(a)||h.default.isDayjs(a)?[e,b.default.get(t,a,null)]:[e,await L(a,t)]);return Object.fromEntries(await Promise.all(a))},V=(e,t)=>{if(!e||!t)return!1;const a=h.default(e).startOf("day"),n=h.default(t).endOf("day"),r=h.default();return r.isAfter(a)&&r.isBefore(n)||r.isSame(a)||r.isSame(n)},P=(e=[])=>{const t=localStorage.getItem("_u_data"),a=t?JSON.parse(t):{},n=((null==a?void 0:a.module_access)||[]).filter(t=>e.includes(t.module_name)).map(e=>({...e,sub_modules:[...e.sub_modules||[],{sub_module_name:"dashboard"}]})),r=new Set(n.flatMap(e=>e.sub_modules.map(e=>e.sub_module_name))),l=JSON.parse(localStorage.getItem("role-permission")||"{}");return Array.from(r).filter(e=>Object.keys(l).some(t=>t.startsWith(e.split("/").pop())))},U=(e,t=[])=>{const a=new Set(P(t));return e.reduce((e,n)=>{var r;const l=n.bacSubModuleName&&a.has(n.bacSubModuleName),o=(null==(r=n.submenu)?void 0:r.length)?U(n.submenu,t):[];return(l||o.length)&&e.push({...n,submenu:o}),e},[])},W=(e,t)=>e?e.slice(0,t):"",z=(e,t,a)=>{if(null!=e){const n=String(e);t[n]?t[n].forEach(e=>{a.add(e)}):("boolean"==typeof e&&t[e]||"number"==typeof e&&t[e])&&t[e].forEach(e=>{a.add(e)})}else(null==t?void 0:t.NO_VALUE)&&t.NO_VALUE.forEach(e=>{a.add(e)})};exports.InvoiceStatus={Approved:"Approve",Rejected:"Reject"},exports.addOrEditArray=(e=[],t)=>{const{itemIndex:a,...n}=t,r=[...e];return r[a]?(r[a]={...n},r):[...r,n]},exports.appendConditionSafely=(e,t)=>{const a=e=>e.trim().replace(/^[(]|[)]$/g,"").split(/[&,]/).map(e=>e.trim()).filter(Boolean);if(!e||"string"!=typeof e||""===e.trim())return`(${t.trim().replace(/^([^\w(]+)/,"")})`;const n=new Set(a(e)),r=a(t).filter(e=>!n.has(e));return`(${[...n,...r].join("&")})`},exports.calculateAmountData=(e,t,a,n,r=[])=>{const l=e*t;let o=Number(a);"rate"===(null==n?void 0:n.discount_category)&&(o=a?l*(a/100):0);let i=l-o||0;i<0&&(i=0);const s=j(i,l,r),u=(null==s?void 0:s.amount)||0;return{grossAmount:i,taxAmount:u,taxRate:(null==s?void 0:s.rate)||0,discountAmount:o,netAmount:i+Number(u)||0,totalAmount:i+Number(u)||0}},exports.calculatePeriods=(e,t,a="Month")=>{const n=h.default(e),r=h.default(t);if(r.isBefore(n))return null;switch(a){case"Year":{const e=r.diff(n,"year"),t=r.diff(n.add(e,"year"),"month");return`${e} ${1===e?"Year":"Years"}${t>0?`, ${t} ${1===t?"Month":"Months"}`:""}`}case"Month":case"Calendar Month":{const e=r.diff(n,"month"),t=r.diff(n.add(e,"month"),"day");return`${e} ${1===e?"Month":"Months"}${t>0?`, ${t} ${1===t?"Day":"Days"}`:""}`}case"Week":{const e=r.diff(n,"week"),t=r.diff(n.add(e,"week"),"day");return`${e} ${1===e?"Week":"Weeks"}${t>0?`, ${t} ${1===t?"Day":"Days"}`:""}`}case"Day":{const e=r.diff(n,"hour"),t=Math.floor(e/24);return e%24>0?`${t+1} ${t+1===1?"Day":"Days"}`:`${t} ${1===t?"Day":"Days"}`}case"Hour":{const e=r.diff(n,"hour");return`${e} ${1===e?"Hour":"Hours"}`}default:return"Invalid mode"}},exports.checkDuplicateTracking=(e,t,a)=>{var n,r,l,o,i;let s=!1,u=null;const d="Serial Number Tracking"===t,c=d?"serial_number":"lot_number",m=d?null==(r=null==(n=null==e?void 0:e.add_stock_transfer)?void 0:n.lot_number)?void 0:r.serial_number:null==(o=null==(l=null==e?void 0:e.add_stock_transfer)?void 0:l.lot_number)?void 0:o.lot_number;return u=d?"This serial Number is already available":"This lot Number is already available",(null==(i=a[null==e?void 0:e.itemIndex])?void 0:i[c])==m?{isDuplicate:!1}:(["Serial Number Tracking","Lot Tracking"].includes(t)&&(s=a.some(e=>(null==e?void 0:e[c])===m)),{isDuplicate:s,errorMsg:u})},exports.checkForDuplicate=R,exports.checkSkuAndItemName=async e=>{var t;const a=await p.postV1InventoryItemsCheck({...e,...M()});return(null==(t=null==a?void 0:a.data)?void 0:t.item_exists)||null},exports.createdOnAndBy=e=>{var t;const{created_at:a="",created_user:n={},created_by_data:r={}}=e||{},{first_name:l="",last_name:s=""}=(null==(t=Object.keys(n))?void 0:t.length)?n:r,u=(null==l?void 0:l.trim())||"",d=(null==s?void 0:s.trim())||"",c=(null==a?void 0:a.trim())||"",m=`Created on ${i.formatDate(c,"DD MMM, YYYY")}`;return u||d?`${m} · ${o.formatText(`${u} ${d}`)}`:m},exports.defaultCompany=e=>{let t=e;if(!t)try{t=JSON.parse(localStorage.getItem("user")||"{}")}catch{return null}const a=(null==t?void 0:t.accessCompanies)||[],n=(null==t?void 0:t.company_id)||null;let r=n;return Array.isArray(a)&&(null==a?void 0:a.length)>0&&((null==a?void 0:a.includes(n))||(r=null==a?void 0:a[0])),r?Number(r):null},exports.defaultCurrencyFormat=e=>{var t;if(null==e?void 0:e.number_format)return e.number_format;try{const e=JSON.parse(localStorage.getItem("user")||"{}");return(null==(t=null==e?void 0:e.currency_data)?void 0:t.number_format)||""}catch{return""}},exports.defaultCurrencySymbol=O,exports.displayPhone=B,exports.downloadDoc=async({api:e,raw:t})=>{const a={"Content-Type":"application/json",...M()},n=await fetch(`https://apidev.erpforce.co/${e}`,{method:"POST",headers:a,body:t,redirect:"follow"});if(!n.ok)throw new Error(await n.text());const r=await n.blob(),l=window.URL.createObjectURL(r);window.open(l,"_blank"),setTimeout(()=>window.URL.revokeObjectURL(l),1e3)},exports.downloadFile=function(e,t=""){if(!e||""===e)return;const a=document.createElement("a");a.target="_blank",a.href=e,a.download=t,document.body.appendChild(a),a.click(),document.body.removeChild(a)},exports.fetchAssemblyItemData=async e=>{var t;const a=await p.getV1AssemblyItemsId({id:e,...M()});return(null==(t=null==a?void 0:a.data)?void 0:t.data)||null},exports.fetchCompanyLocations=async e=>{const t=await l.fetchApi({apiKey:"location",filters:{filters:{"&company_id.in":e}}});return(null==t?void 0:t.data)||[]},exports.fetchDataLocally=(e,t)=>{const{search:a="",limit:n=25,skip:r=0}=e;let l=t||[];if(a&&a.length>0){const e=a.toLowerCase();l=l.filter(t=>((null==t?void 0:t.label)||(null==t?void 0:t.name)||"").toLowerCase().includes(e))}const o=l.length;return{data:l.slice(r,r+n).map(e=>({...e,label:(null==e?void 0:e.label)||(null==e?void 0:e.name),value:(null==e?void 0:e.value)||(null==e?void 0:e.id)||(null==e?void 0:e.name)})),pagination:{totalCount:o}}},exports.fetchExchageRate=async(e,t="Buying")=>{try{const a=await n.postV1CurrencyInfo({currancy_id:e,type:t,...M()}),{exchange_rate:r=1,reverse_rate:l=1}=(null==a?void 0:a.data)||{};return{exchange_rate:r,reverse_rate:l}}catch(a){return{exchange_rate:1,reverse_rate:1}}},exports.fetchItems=async(e,t)=>{const a=await l.fetchApi({apiKey:"items",filters:{filters:{"&id.in":e},select:t}});return(null==a?void 0:a.data)||[]},exports.fetchOptions=async(e,t,a,n=!1)=>{const r=await l.fetchApi({apiKey:e,filters:{filters:t,select:a}});return n?null==r?void 0:r.data:Array.isArray(null==r?void 0:r.data)?null==r?void 0:r.data[0]:null},exports.fetchRentalResponseItems=async e=>{var t;try{const a=await c.getV1CrossHireRfqResponseItems({filters:e,...M()});return(null==(t=null==a?void 0:a.data)?void 0:t.rfq_response_items)??[]}catch(a){throw a}},exports.fetchRfqItemsByIdForResponse=async e=>{var t;try{const a=await m.getV1RfqResponseItems({filters:e,...M()});return(null==(t=null==a?void 0:a.data)?void 0:t.rfq_response_items)??[]}catch(a){throw a}},exports.filterAccessibleModules=U,exports.filterCoaByCompanyIdOrNull=(e,{companyId:t})=>(null==e?void 0:e.length)?e.filter(e=>{if(t){const a=Array.isArray(t)?t.map(Number):[Number(t)];return!e.company_ids||e.company_ids.some(e=>a.includes(e.id))}return!e.company_ids}):[],exports.findById=(e,t)=>e.find(e=>e.id==t),exports.formatAmount=(e="",t="",a="before",n)=>{if(""!==e&&null!=e||(e=0),"string"==typeof e&&(e=parseFloat(e.replace(/[^\d.-]/g,"")),isNaN(e)))return"";const r=parseFloat(e.toFixed(2));let l;switch(t){case"#,###.##":default:l=new Intl.NumberFormat("en-US",{minimumFractionDigits:2,maximumFractionDigits:2});break;case"#.###,##":l=new Intl.NumberFormat("de-DE",{minimumFractionDigits:2,maximumFractionDigits:2});break;case"# ###.##":l=new Intl.NumberFormat("fr-FR",{minimumFractionDigits:2,maximumFractionDigits:2});break;case"# ###,##":l=new Intl.NumberFormat("es-ES",{minimumFractionDigits:2,maximumFractionDigits:2});break;case"#’ ###. ##":l=new Intl.NumberFormat("de-CH",{minimumFractionDigits:2,maximumFractionDigits:2});break;case"#, ###.##":l=new Intl.NumberFormat("en-GB",{minimumFractionDigits:2,maximumFractionDigits:2})}let o=l.format(r);return"# ###.##"!==t&&"# ###,##"!==t||(o=o.replace(/\u00A0/g," ")),"#’ ###. ##"===t&&(o=o.replace(/\u00A0/g," ").replace(/'/g,"’")),"#, ###.##"===t&&(o=o.replace(/,/g,", ")),n?"after"===a?`${o} ${n}`:`${n} ${o}`:o},exports.formatAmountWithCurrency=(e,t)=>{if(!e)return`${t||""}`;const a=O();return`${t||a} ${Number(e).toFixed(2)}`},exports.formatAmountWithCurrencyData=(e,t)=>e?`${t||""} ${Number(e).toFixed(2)}`:"",exports.formatDateForPayload=E,exports.formatDateTimeForPayload=q,exports.formatEmptyDataToNull=function e(t){return Array.isArray(t)?t.map(t=>e(t)):b.default.isObject(t)?b.default.mapValues(t,(t,a)=>Array.isArray(t)?t:!b.default.isObject(t)||h.default.isDayjs(t)||t instanceof File?t||0===t||!1===t?a.includes("_id")&&!a.includes("_ids")||a.includes("_amount")?Array.isArray(t)?t.map(Number):Number(t):a.includes("date_time")?q(t):a.includes("date")?E(t):a.includes("_time")?S(t):Array.isArray(t)?t.length?t:[]:t:null:e(t)):t},exports.formatResponseDatesToDayJS=C,exports.formatResponseOnlyDatesToDayJS=function(e){return Array.isArray(e)?e.map(e=>C(e)):b.default.isObject(e)?b.default.mapValues(e,(e,t)=>b.default.isObject(e)&&!h.default.isDayjs(e)?C(e):t.includes("date")&&e?h.default(e):e):e},exports.formatTimeForPayload=S,exports.generateAndFormatStringFromObj=(e={},t=[])=>{let a="";return null==t||t.forEach(t=>{(null==e?void 0:e[t])&&(a=a?a+` ${null==e?void 0:e[t]}`:null==e?void 0:e[t])}),a},exports.generateFields=e=>{const t=[{name:"null",label:"is null"},{name:"notNull",label:"is not null"}],a=[{name:"contains",label:"contains"},{name:"beginsWith",label:"begins with"},{name:"endsWith",label:"ends with"},{name:"doesNotContain",label:"does not contain"},{name:"doesNotBeginWith",label:"does not begin with"},{name:"doesNotEndWith",label:"does not end with"},...t],n=[{name:"=",label:"equal to"},{name:"<",label:"less than"},{name:"<=",label:"less than or equal to"},{name:">",label:"greater than"},{name:">=",label:"greater than or equal to"},...t],r=[{name:"in",label:"in"},{name:"notIn",label:"not in"},...t],l=[{name:"in",label:"in"}],o=[{name:"=",label:"on"},{name:"!=",label:"not on"},{name:"<",label:"before"},{name:"<=",label:"on or before"},{name:">",label:"after"},{name:">=",label:"on or after"},...t];return e.filter(e=>e.isFilterAllowed&&(null==e?void 0:e.type)).map(e=>{let{type:i,values:s}=e;const{is_aggregate:u=!1,table:d=null}=e,{key:c,label:m,fieldType:p}=e;let f,y,v,h;if(null==e?void 0:e.enum){i="select";let t=e.enum;t&&!Array.isArray(t)&&"object"==typeof t&&(t=Object.values(t)),s=t.map(e=>({name:e,label:e}))}switch("select"===p&&(i="select",s=null==e?void 0:e.options),(null==e?void 0:e.boolean)&&(i="select",s=(null==e?void 0:e.values)||[]),(null==e?void 0:e.table)&&(i="table"),i){case"string":default:f=a,y="text",v="text";break;case"number":f=n,y="text",v="number";break;case"select":f=r,y="select",v="select";break;case"table":f=l,y="select",v="select";break;case"datetime":case"date":f=o,y="text",v="date",h="date";break;case"boolean":f=[...l,...t],y="select",v="select"}return{name:c.replace("__replaceKey",""),label:m,valueEditorType:y,operators:f,inputType:v,datatype:h,comparator:"datatype",values:s,is_aggregate:u,table:d}})},exports.generateQueryString=e=>{const t={null:"eq",notNull:"ne",contains:"like",beginsWith:"like",endsWith:"like",doesNotContain:"ne",doesNotBeginWith:"ne",doesNotEndWith:"ne","<":"lt","<=":"lte",">":"gt",">=":"gte","=":"eq","!=":"ne",in:"in",notIn:"nin"},a=e=>e.map(e=>{let n=e.value;if(Array.isArray(n)&&(n=n.map(e=>("object"==typeof e&&(e=e.name),e))),e.rules){const t="or"===e.combinator?"|":"&";return`${a(e.rules).join(t)}`}{let a=t[e.operator];"in"!==a&&"notIn"!==a||"string"!=typeof n||(a="eq"),"null"!==e.operator&&"notNull"!==e.operator||(n=null);const r=((e,t)=>["in","notIn"].includes(e)?`[${t}]`:["like","ilike"].includes(e)?"beginsWith"===e?`${t}%`:"endsWith"===e?`%${t}`:`%${t}%`:"null"===e||"notNull"===e?"":t)(a,n);return`${e.field}.${a}=${r}`}}),n="or"===e.combinator?"|":"&";return`(${a(e.rules).join(n)})`.replace(/ /g,"---")},exports.generateRandomId=(e="")=>{const t=`${Date.now()}${e}${Math.random()}`.replace(".",""),a=Number(t.replace(e,""));return{uniqueStringId:t,uniqueNumberId:a}},exports.getAccessibleModules=P,exports.getCountryIdByName=async e=>{var t,a,n;const r=await f.getV1LocationsCountries({filters:`(name.like=%${e}%)`,...M()});return(null==(n=null==(a=null==(t=null==r?void 0:r.data)?void 0:t.countries)?void 0:a[0])?void 0:n.id)||null},exports.getErrorMessage=T,exports.getExcelExportTemplate=async e=>{const t={};void 0!==e["x-token"]&&(t["x-token"]=e["x-token"],delete e["x-token"]),void 0!==e["Content-Type"]&&(t["Content-Type"]=e["Content-Type"],delete e["Content-Type"]);const a=window.location.pathname.split("/"),n=a.pop(),r=a[3];let l=a[2];"demand-planning"==n&&(l="purchase"),"crm"==l&&(l="sales"),"procurement"==l&&(l="purchase");let o="";if(n&&s.specificFilters[n]&&(o=s.specificFilters[n]),"items"!==n&&"item"!==n||((null==e?void 0:e.title)&&"Non Inventory"==(null==e?void 0:e.title)?e.title="non-inventory":(null==e?void 0:e.title)&&"Assembly (Finished product)"==(null==e?void 0:e.title)&&(e.title="assembly"),o+=`&type.eq=${null==e?void 0:e.title.toLowerCase()}`),e.filterQueryString){const t=e.filterQueryString.replace(/[{}()]/g,"");o=o?`(${o}&${t})`:`(${t})`}else o=`(${o})`;o.includes("is_variant.eq=false|self_variant.eq=true")&&(o="rental"==l?o.replace("is_variant.eq=false|self_variant.eq=true","(is_variant.eq=false|self_variant.eq=true&is_rental.eq=1)"):o.replace("is_variant.eq=false|self_variant.eq=true","(is_variant.eq=false|self_variant.eq=true)")),!n||s.specificFilters[n]||e.filterQueryString||(o="");let i=s.subModuleMappings[n||""]||n;"sales"==l&&"quotation"==i&&(o="(is_rental.eq=0)"),"sales"==l&&"sales-orders"==i&&(o="(is_rental.eq=0)"),"rental"==l&&"rental-lead"==i&&(o="(is_rental.eq=1)"),"sales"==l&&"lead"==i&&(o="(is_rental.eq=0)"),"purchase"!==l||"purchase-requests"!==i&&"rfq"!==i&&"purchase-orders"!==i||(o="(is_rental.eq=0)"),"rental"==l&&"quotation"==i&&(i="rental-quotations"),"rental"==l&&"opportunity"==i&&(i="rental-opportunity"),"rental"==l&&"item"==i&&(l="inventory",i="inventory-items"),"rental"==l&&"category"==i&&(l="inventory",i="category-items"),"rental"==l&&"purchase-requests"==i&&(i="cross-hire-requests",o="(is_rental.eq=1)"),"rental"==l&&"rfq"==i&&"purchase"!=r&&(i="cross-hire-rfq",o="(is_rental.eq=1)"),"rental"==l&&"rfq"==i&&"purchase"==r&&(l="purchase",o="(is_rental.eq=0)"),"rental"==l&&"orders"==i&&"Rental Orders"!==e.title&&"Replacement Orders"!==e.title&&(i="cross-hire-orders",o="(is_rental.eq=1)"),"rental"!=l||"orders"!=i&&"cross-hire-orders"!=i||"purchase"!=r||(l="purchase",i="purchase-orders",o="(is_rental.eq=0)"),"rental"==l&&"rental-quotations"==i&&"Quotations"==e.title&&(o="(is_visible.eq=1&is_rental.eq=1&is_replacement.eq=0)"),"rental"==l&&"rental-quotations"==i&&"Replacement Quotations"==e.title&&(o="(is_visible.eq=1&is_rental.eq=1&is_replacement.eq=1)"),"rental"==l&&"orders"==i&&"Rental Orders"==e.title&&(i="rental-orders",o="(is_rental.eq=1&is_replacement.eq=0)"),"rental"==l&&"orders"==i&&"Replacement Orders"==e.title&&(i="rental-orders",o="(is_rental.eq=1&is_replacement.eq=1)");const u={};e.selectedIds&&o?e.selectedIds.length>0&&(o=`(${o}&id.in=${e.selectedIds})`):e.selectedIds&&e.selectedIds.length>0&&(o=`(id.in=${e.selectedIds})`),o&&(u.filters=o);const d=new URLSearchParams(u).toString(),c=await fetch(`https://apidev.erpforce.co/${l}/v1/${i}/generate-excel${d?`?${d}`:""}`,{headers:t});if(!c.ok)throw new Error(await c.text());return await c},exports.getExcelTemplateGenerateTemplate=async e=>{const t={};void 0!==e["x-token"]&&(t["x-token"]=e["x-token"],delete e["x-token"]),void 0!==e["Content-Type"]&&(t["Content-Type"]=e["Content-Type"],delete e["Content-Type"]);const a=await fetch(`https://apidev.erpforce.co/accounting/v1/excel-template/generate-template?resource=${e.resource.toString()}`,{headers:t});if(!a.ok)throw new Error(await a.text());return await a},exports.getFieldFilters=(e,t)=>{var a,n;if(!(null==e?void 0:e.length))return Array.isArray(t)?/* @__PURE__ */new Map:{};const r=/* @__PURE__ */new Map;return Array.isArray(t)&&(null==t?void 0:t.length)?(t.forEach(t=>{var a,n;const l=(null==(n=null==(a=e.find(e=>e.name===t))?void 0:a.field_properties)?void 0:n.customeFilter)||{};r.set(t,l)}),r):(null==(n=null==(a=e.find(e=>e.name===t))?void 0:a.field_properties)?void 0:n.customeFilter)||{}},exports.getFileName=e=>{if(!e)return"";if(e instanceof File)return e.name;if("string"==typeof e){const t=null==e?void 0:e.split("/");return null==t?void 0:t[(null==t?void 0:t.length)-1]}return Array.isArray(e)&&(null==e?void 0:e.length)>0?e.map(e=>{if(e instanceof File)return e.name;const t=null==e?void 0:e.split("/");return null==t?void 0:t[(null==t?void 0:t.length)-1]}).join(", "):void 0},exports.getLabelValuePairs=(e,t,a,n,r)=>b.default.map(e,e=>{const t=r?r(e):b.default.compact(a.map(t=>b.default.get(e,t,""))).filter(e=>Boolean(null==e?void 0:e.trim())).join(", ");return{...e,label:t,value:b.default.get(e,n,null)}})||t,exports.getName=(e,t)=>b.default.isEmpty(e)?"-":t.map(t=>null==e?void 0:e[t]).filter(e=>Boolean(e&&(null==e?void 0:e.trim()))).join(" "),exports.getNestedValue=function(e,t){return t.split(".").reduce((e,t)=>e&&void 0!==e[t]?e[t]:void 0,e)},exports.getNextScheduleDate=(e,t)=>{switch(null==t?void 0:t.duration){case"Hour":return h.default(e).add(1,"hour");case"Day":return h.default(e).add(1,"day");case"Week":return h.default(e).add(1,"week");case"2 Week":return h.default(e).add(2,"week");case"Month":return h.default(e).add(30,"day");case"Calendar Month":return h.default(e).endOf("month").add(1,"day").startOf("day");case"Quarter":case"3 Month":return h.default(e).add(3,"month");case"6 Month":return h.default(e).add(6,"month");case"Year":case"1 Year":return h.default(e).add(1,"year");case"3 Year":return h.default(e).add(3,"year");case"5 Year":case"5Year":return h.default(e).add(5,"year");default:return h.default(e).add(1,"month")}},exports.getOperatorLabel=(e,t)=>{var a,n,r,l,o,i,s;const u=[{name:"null",label:"Is null"},{name:"notNull",label:"Is not null"}],d=[{name:"contains",label:"Contains"},{name:"beginsWith",label:"Begins with"},{name:"endsWith",label:"Ends with"},{name:"doesNotContain",label:"Does not contain"},{name:"doesNotBeginWith",label:"Does not begin with"},{name:"doesNotEndWith",label:"Does not end with"},...u],c=[{name:"=",label:"Equal to"},{name:"<",label:"Less than"},{name:"<=",label:"Less than or equal to"},{name:">",label:"Greater than"},{name:">=",label:"Greater than or equal to"},...u],m=[{name:"in",label:"In"},{name:"notIn",label:"Not in"},...u],p=[{name:"in",label:"In"}],f=[{name:"=",label:"On"},{name:"!=",label:"Not on"},{name:"<",label:"Before"},{name:"<=",label:"On or before"},{name:">",label:"After"},{name:">=",label:"On or after"},...u],y=[{name:"=",label:"is"},...u],{field:v,operator:h}=e,b=null==t?void 0:t.find(e=>e.key.replace("__replaceKey","")==v);let g="";if(b){let{type:e}=b||{};const{fieldType:t}=b;switch((null==b?void 0:b.enum)&&(e="select"),"select"===t&&(e="select"),(null==b?void 0:b.boolean)&&(e="select"),(null==b?void 0:b.table)&&(e="table"),e){case"string":g=(null==(a=d.find(e=>e.name==h))?void 0:a.label)||"";break;case"number":g=(null==(n=c.find(e=>e.name==h))?void 0:n.label)||"";break;case"select":g=(null==(r=m.find(e=>e.name==h))?void 0:r.label)||"";break;case"table":g=(null==(l=p.find(e=>e.name==h))?void 0:l.label)||"";break;case"datetime":g=(null==(o=f.find(e=>e.name==h))?void 0:o.label)||"";break;case"date":g=(null==(i=f.find(e=>e.name==h))?void 0:i.label)||"";break;case"boolean":g=(null==(s=y.find(e=>e.name==h))?void 0:s.label)||""}}return g},exports.getOptionsData=async(e,t,a,n=!1)=>{const r=await l.fetchApi({apiKey:e,filters:{filters:{"&id.in":t},select:a}});return n?null==r?void 0:r.data:Array.isArray(null==r?void 0:r.data)?null==r?void 0:r.data[0]:null},exports.getPartyDependentData=async(e,t)=>{var a,r,l;let o=[],i=[],s=(null==t?void 0:t.currencies)||[],u=(null==t?void 0:t.companies)||[],d=null,c=null,m=null,p=null;const f=await n.getV1PartiesId({id:e,...M()}),y=(null==(l=null==(r=null==(a=null==f?void 0:f.data)?void 0:a.parties)?void 0:r.party)?void 0:l.data)||null;if(y){const{payment_term:e=null,party_address_data:t=[],party_contact_data:a=[],currencies_data:n=[],companies_data:r=[],salesperson:l=null}=y;o=t,i=a,s=n,u=r,m=e,d=null==t?void 0:t.find(e=>Boolean(null==e?void 0:e.default_shipping_address)),c=null==t?void 0:t.find(e=>Boolean(null==e?void 0:e.default_billing_address)),p=l}return{addresses:o,contacts:i,currencies:s,currencyIds:s.map(e=>e.id),companies:u,companyIds:u.map(e=>e.id),paymentTerm:m,defaultShipping:d,defaultBilling:c,salesperson:p}},exports.getPartyName=function(e){if(!e)return"";const{name:t="",first_name:a="",middle_name:n="",last_name:r="",company_name:l=""}=e,o=(null==t?void 0:t.trim())||"",i=(null==a?void 0:a.trim())||"",s=(null==n?void 0:n.trim())||"",u=(null==r?void 0:r.trim())||"",d=(null==l?void 0:l.trim())||"";return"Individual"===(null==e?void 0:e.account_type)?[i,s,u].filter(Boolean).join(" "):"Company"===(null==e?void 0:e.account_type)?d:o||(i?[i,s,u].filter(Boolean).join(" "):d||"")},exports.getSlicedValue=W,exports.getTaxAmountDataFromMultipleTaxCodes=j,exports.getTaxAmountFromMultipleTaxCodes=(e,t=[],a=!1)=>{if(!e)return 0;let n=0;const r=null==t?void 0:t.map(t=>{const a=e*(t.rate/100);return n+=a,{id:t.id,name:t.name,rate:t.rate,tax_amount:a}});return a?r:n},exports.getToken=M,exports.handleRegularUpload=I,exports.hasValue=(e,t=[])=>{const a=(e,t)=>b.default.isArray(e)?b.default.some(e,e=>a(e,t)):b.default.isPlainObject(e)?b.default.some(e,(e,n)=>!t.includes(n)&&a(e,t)):!b.default.isNil(e)&&!b.default.isEmpty(e);return a(e,t)},exports.isBetweenTheDates=V,exports.isJSONString=F,exports.isJsonParse=e=>{if(!e)return!1;try{return JSON.parse(e)}catch(t){return!1}},exports.manageItems=({key:e,action:t,value:a,items:n=[],itemIndex:r})=>{switch(t){case"add":return[...n,a];case"update":return n.map((t,n)=>(r>=0?r===n:t[e]===a[e])?a:t);case"delete":return void 0!==(null==a?void 0:a.index)?n.filter((e,t)=>t!==a.index):n.filter(t=>t[e]!==a[e]);default:return n}},exports.mapApiPayload=Y,exports.mapAsyncApiPayload=L,exports.matchedMaterialCostingTypeLabel=e=>{var t;return(null==(t=y.INVENTORY_MATERIAL_COSTING_TYPE_OPTIONS.find(t=>t.value===e))?void 0:t.label)||null},exports.omitDataKeys=function e(t,a){const n=["created_at","updated_at","created_by","created_user","updated_by","updated_user","is_deleted","deleted_user","deleted_by","deleted_at",...a||[]];return Array.isArray(t)?t.map(t=>e(t,a)):b.default.isObject(t)&&!Array.isArray(t)?b.default.mapValues(b.default.omitBy(t,(e,t)=>n.includes(t)||t.endsWith("_data")||t.endsWith("_status")),t=>b.default.isObject(t)&&!h.default.isDayjs(t)?e(t,a):t):t},exports.partyDuplicateCheck=async(e,t,a)=>{var n,r,l;const o={...t};if(0!==e||!(null==o?void 0:o.contact_no)&&!(null==o?void 0:o.company_name))return null;if(0!==e||!(null==o?void 0:o.contact_no)&&(null==o?void 0:o.company_name)&&"Company"!==(null==o?void 0:o.account_type))return null;const i=g.default((null==(n=null==o?void 0:o.contact_no)?void 0:n.includes("+"))?null==o?void 0:o.contact_no:`+${null==o?void 0:o.contact_no}`);o.contact_no=(null==i?void 0:i.nationalNumber)||"",o.country_code=(null==i?void 0:i.countryCallingCode)||"";const s=(null==a?void 0:a.contact_no)||"",u=B(o),d=!a||(null==s?void 0:s.trim())!==(null==u?void 0:u.trim()),c=!a||(null==(r=null==a?void 0:a.company_name)?void 0:r.trim())!==(null==(l=null==o?void 0:o.company_name)?void 0:l.trim());if(!d&&!c)return null;const m=(null==i?void 0:i.nationalNumber)?(null==i?void 0:i.countryCallingCode)?`+${null==i?void 0:i.countryCallingCode}`:"":null==o?void 0:o.country_code,p=(null==i?void 0:i.nationalNumber)||(null==o?void 0:o.contact_no),f={party:{account_type:null==o?void 0:o.account_type,...d&&m?{country_code:m}:{},...d&&p?{contact_no:p}:{},..."Company"===(null==o?void 0:o.account_type)&&c?{company_name:null==o?void 0:o.company_name}:{}}};try{if(await R(f)){const e="Company"===(null==o?void 0:o.account_type)?(null==i?void 0:i.nationalNumber)?"company name or phone":"company name":"phone number";return`Added ${e} already exists. Please add a different ${e}.`}}catch(y){return y.message||"An error occurred while checking for duplicates."}return null},exports.partyEmailIds=e=>{if(!e)return"";try{const t=JSON.parse(e);return Array.isArray(t)?t.join(", "):""}catch{return e}},exports.postImportSheet=async(e,t)=>{let a=window.location.pathname.split("/")[2];const n=window.location.pathname.split("/")[3];let r="";"crm"==a&&(a="sales"),"procurement"==a&&(a="purchase"),"rental"==a&&"item"==n&&(a="inventory"),"rental"==a&&"quotation"==t&&(t="rental-quotations"),"rental"==a&&"lead"==t&&(t="rental-lead"),"rental"==a&&"rfq"==t&&(a="purchase"),"rental"==a&&"purchase-orders"==t&&(a="purchase"),"rental"==a&&"opportunity"==t&&(t="rental-opportunity"),"collection-entries"==t&&(t="payment-entries",r="receive");const l=`https://apidev.erpforce.co/${a}`,o={};o["x-token"]=w;const i=await fetch(`${l}/v1/${t}/import${r?`?type=${r}`:""}`,{method:"POST",body:e,headers:o});if(!i.ok)throw new Error(await i.text());return await i.json()},exports.remainingMaterialCostingTypes=e=>y.INVENTORY_MATERIAL_COSTING_TYPE_ARR.filter(t=>t!==e),exports.removeIdFromObject=e=>null==e?void 0:e.map(e=>({...e,id:void 0})),exports.removeIdStaticIdsFromMongoObject=e=>e.map(e=>"number"==typeof e._id?{...e,_id:null}:e),exports.setRateBasedOnPriceRules=(e,t,a)=>{let n=e;if(null==t?void 0:t.length){const e=b.default.orderBy(t,["minimum_quantity"],["desc"]);for(const t of e)if(Number(a)>=Number(null==t?void 0:t.minimum_quantity)&&V(null==t?void 0:t.start_date,null==t?void 0:t.end_date)){n=Number(null==t?void 0:t.unit_price)||void 0;break}}return n},exports.showSnackBar=e=>{const t=T(null==e?void 0:e.message);r.enqueueSnackbar(t,{variant:"error"})},exports.skuGenerator=({name:e,category:t,sequence:a="0001"})=>{const n=t.replace(/[^a-zA-Z0-9]/g,""),r=e.replace(/[^a-zA-Z0-9]/g,"");return`${W(n,3).toUpperCase()}-${W(r,3).toUpperCase()}-${a}`},exports.toFixedWithNumbers=e=>{var t;return e>0?null==(t=Number(e))?void 0:t.toFixed(2):e},exports.updateFieldsDisabledState=({data:e,materialCostingType:t,formValues:a,fieldsConfig:n=y.INVENTORY_FIELDS_TO_BE_DISABLED,isEditMode:r=!1,isAddMode:l=!1,alwaysDisabledFields:o=y.INVENTORY_ALWAYS_DISABLED_FIELDS,editModeDisabledFields:i=y.INVENTORY_EDIT_MODE_DISABLED_FIELDS,addModeDisabledFields:s=y.INVENTORY_ADD_MODE_DISABLED_FIELDS})=>{var u;const d=/* @__PURE__ */new Set,c=new Set((null==(u=null==e?void 0:e.filter(e=>{var a;return(null==(a=null==e?void 0:e.field_properties)?void 0:a.type)===t}))?void 0:u.map(e=>null==e?void 0:e.name))||[]),m=new Set((null==e?void 0:e.map(e=>null==e?void 0:e.name))||[]);return Object.entries(n).forEach(([e,n])=>{if(e===t)Object.entries(n).forEach(([e,t])=>{if(c.has(e)){const n=null==a?void 0:a[e];z(n,t,d)}});else if(m.has(e)){const t=null==a?void 0:a[e];z(t,n,d)}}),e.map(e=>{const t=o.includes(e.name),a=r&&i.includes(e.name),n=l&&s.includes(e.name),u=d.has(e.name),c=t||a||n||u;return{...e,disabled:c,disableTableAddButton:c,disableDefaultActionColumn:c||Boolean(null==e?void 0:e.disableDefaultActionColumn)}})},exports.uploadAttachments=async e=>{let t=(null==e?void 0:e.filter(e=>!(e instanceof File)))||[];const a=(null==e?void 0:e.filter(e=>e instanceof File))||[];t=t.map(e=>e.replace("https://erpforce-dev.s3.eu-west-1.amazonaws.com/",""));let n=[];return a.length&&(n=await k(a,"sales")),n=[...n,...t],Array.isArray(n)&&(null==n?void 0:n.length)?n.join(","):null},exports.uploadFiles=k,exports.validateDiscountValidity=(e,t,a)=>{const n=/* @__PURE__ */new Date,r=new Date(e);let l;switch(t){case"DAYS_AFTER_INVOICE_DATE":l=new Date(r),l.setDate(l.getDate()+parseInt(a));break;case"DAYS_AFTER_INVOICE_MONTH":l=new Date(r.getFullYear(),r.getMonth()+1,parseInt(a));break;case"MONTHS_AFTER_INVOICE_MONTH":l=new Date(r),l.setMonth(l.getMonth()+parseInt(a)),l=new Date(l.getFullYear(),l.getMonth()+1,0);break;default:throw new Error("Invalid discount_due_date_based_on value")}return n<=l};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|