@fctc/interface-logic 4.6.2 → 4.6.4

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.
Files changed (53) hide show
  1. package/dist/chunk-24JB4Q7Z.cjs +1 -0
  2. package/dist/chunk-CI6PEZ77.mjs +1 -0
  3. package/dist/chunk-K6UUMPOE.mjs +1 -0
  4. package/dist/chunk-LYD7QJQX.mjs +2 -0
  5. package/dist/chunk-MULIHGQM.mjs +1 -0
  6. package/dist/chunk-N6RX73K2.cjs +1 -0
  7. package/dist/chunk-QV6QYYJF.cjs +5 -0
  8. package/dist/chunk-QWAB6OBZ.cjs +1 -0
  9. package/dist/chunk-V2FKQ7ES.mjs +1 -0
  10. package/dist/chunk-VSVSPTCC.cjs +1 -0
  11. package/dist/chunk-X73KGPFZ.cjs +2 -0
  12. package/dist/chunk-Y65DQP66.mjs +5 -0
  13. package/dist/configs.cjs +1 -0
  14. package/dist/configs.mjs +1 -2544
  15. package/dist/constants.cjs +1 -0
  16. package/dist/constants.mjs +1 -293
  17. package/dist/environment.cjs +1 -0
  18. package/dist/environment.d.mts +1 -1
  19. package/dist/environment.d.ts +1 -1
  20. package/dist/environment.mjs +1 -2669
  21. package/dist/hooks.cjs +1 -0
  22. package/dist/hooks.d.mts +1 -7
  23. package/dist/hooks.d.ts +1 -7
  24. package/dist/hooks.mjs +1 -8792
  25. package/dist/{local-storage-BPvoMGYJ.d.mts → local-storage-AbiOQTLK.d.mts} +1 -1
  26. package/dist/{local-storage-BPvoMGYJ.d.ts → local-storage-AbiOQTLK.d.ts} +1 -1
  27. package/dist/models.cjs +1 -0
  28. package/dist/models.mjs +1 -120
  29. package/dist/provider.cjs +1 -0
  30. package/dist/provider.d.mts +5 -10
  31. package/dist/provider.d.ts +5 -10
  32. package/dist/provider.mjs +1 -9487
  33. package/dist/services.cjs +1 -0
  34. package/dist/services.mjs +1 -6912
  35. package/dist/types.cjs +1 -0
  36. package/dist/utils.cjs +1 -0
  37. package/dist/utils.d.mts +33 -61
  38. package/dist/utils.d.ts +33 -61
  39. package/dist/utils.mjs +1 -3030
  40. package/package.json +2 -5
  41. package/dist/configs.js +0 -2581
  42. package/dist/constants.js +0 -335
  43. package/dist/environment.js +0 -2708
  44. package/dist/hooks.js +0 -8949
  45. package/dist/models.js +0 -147
  46. package/dist/provider.js +0 -9533
  47. package/dist/services.js +0 -6959
  48. package/dist/store.d.mts +0 -382
  49. package/dist/store.d.ts +0 -382
  50. package/dist/store.js +0 -823
  51. package/dist/store.mjs +0 -717
  52. package/dist/types.js +0 -18
  53. package/dist/utils.js +0 -3099
@@ -0,0 +1 @@
1
+ 'use strict';var chunkQWAB6OBZ_cjs=require('./chunk-QWAB6OBZ.cjs');var c=class{name;view;fields;constructor(t){this.name=t.name,this.view=t.view,this.fields=t.fields;}getSpecificationByFields({fields:t=[],specification:r={},modelsData:s,model:a,modelRoot:p}){if(Array.isArray(t)){let i={...r};return t.forEach(e=>{if(!e?.type_co||e?.name&&e?.type_co==="field"){if(s?.[a]?.[e?.name])if(s?.[a]?.[e?.name]?.type==="one2many"||s?.[a]?.[e?.name]?.type==="many2many"){let n=s?.[a]?.[e?.name]?.relation,o=s?.[n];o?(i[e?.name]={fields:{}},p&&p===n?i[e?.name].fields={id:{}}:i[e?.name].fields=this.getSpecificationByFields({fields:Object.values(o),specification:{id:{},display_name:{}},modelsData:s,model:n,modelRoot:a})):i[e?.name]={fields:{id:{},display_name:{},...e?.widget==="many2many_binary"?{mimetype:{}}:{},...e?.widget==="many2many_binary"&&n==="ir.attachment"?{datas:{}}:{}}};}else s?.[a]?.[e?.name]?.type==="many2one"?i[e?.name]={fields:{id:{},display_name:{},...chunkQWAB6OBZ_cjs.i[e?.widget]?{image_256:{}}:{},...e?.name==="currency_id"&&t?.find(n=>n?.widget==="monetary")?{symbol:{}}:{},...e?.widget==="many2many_binary"?{mimetype:{}}:{}}}:i[e?.name]={};}else if(e?.type_co==="group"||e?.type_co==="div"||e?.type_co==="span"){let n=this.getSpecificationByFields({fields:e?.fields,specification:i,modelsData:s,model:a});i={...i,...n};}else if(e?.type_co==="tree"||e?.type_co==="list"){let n=s?.[a]?.[e?.name]?.relation,o=this.getSpecificationByFields({fields:e?.fields,specification:{},modelsData:s,model:n,modelRoot:a});i={...i,[e?.name]:{fields:o}};}}),i}else console.warn("fields is not array");}getTreeProps(){return this.view?.views?.list||{}}getTreeFields(){return this.view?.views?.list?.fields||[]}getSpecification(){let t={},r=this.view?.models||{};return this.getSpecificationByFields({fields:this.fields,specification:t,modelsData:r,model:this.name,modelRoot:""})}};exports.a=c;
@@ -0,0 +1 @@
1
+ var A=(e=>(e.PROFILE="userinfo",e.CURRENT_COMPANY="current_company",e.LIST_COMPANY="list_company",e.COMPANY_INFO="company_info",e.MENU="menus",e.GET_VIEW_BY_ACTION="get_view_by_action",e.ACTION_DETAIL="action_detail",e.GET_DATA_SELECTION="get_data_select",e.WEB_SAVE="web_save",e.WEB_READ="web_read",e.GET_PROVIDER="get_provider",e))(A||{});var T=(E=>(E.WEB_SEARCH_READ="web_search_read",E.WEB_READ_GROUP="web_read_group",E.WEB_READ="web_read",E.WEB_SAVE="web_save",E.UNLINK="unlink",E.ONCHANGE="onchange",E.GET_ONCHANGE_FIELDS="get_fields_onchange",E.GET_FIELD_VIEW="get_fields_view_v2",E.CREATE="create",E.LOAD_DATA="load_data",E.CHECK="check",E.GET_CLOSING_CONTROL_DATA="get_closing_control_data",E.GET_PREPARATION_DISPLAY_DATA="get_preparation_display_data",E.CHANGE_ORDER_STAGE="change_order_stage",E.PROCESS_ORDER="process_order",E.CREATE_E_INVOICE="create_e_invoice",E.GET_DATA_SELECT="get_data_select",E.COMPLETE_CURRENT_STAGE="complete_current_stage",E))(T||{});var O=(_=>(_.AUTH_TOKEN_PATH="/authentication/oauth2/token",_.GENTOKEN_SOCIAL="/token/generate",_.CALL_PATH="/call",_.COMPANY_PATH="/company",_.PROFILE_PATH="/userinfo",_.RESET_PASSWORD_PATH="/reset_password",_.CHANGE_PASSWORD_PATH="/change_password",_.UPDATE_PASSWORD_PATH="/change_password_parent",_.LOAD_ACTION="/load_action",_.REPORT_PATH="/report",_.RUN_ACTION_PATH="/run_action",_.UPLOAD_FILE_EXCEL_PATH="/upload/file",_.UPLOAD_FILE_PATH="/file/upload",_.GET_MESSAGE="/chatter/thread/messages",_.GET_THREAD_DATA="/mail/thread/data",_.GET_THREAD_MESSAGES="/mail/thread/messages",_.SENT_MESSAGE="/chatter/message/post",_.UPLOAD_IMAGE="/mail/attachment/upload",_.DELETE_MESSAGE="/chatter/message/update_content",_.IMAGE_PATH="/web/image",_.LOAD_MESSAGE="/load_message_failures",_.TOKEN="/check_token",_.VALIDATE_ACTION_TOKEN="/action-token/validate",_.CREATE_UPDATE_PATH="/create_update",_.TWOFA_METHOD_PATH="/id/api/v2/call",_.SIGNIN_SSO="/signin-sso/oauth",_.GRANT_ACCESS="/grant-access",_.TOKEN_BY_CODE="/token",_.LOGOUT="/logout",_.CREATE_UPDATE="/create_update",_.SEARCH_READ="/search_read",_.CREATE_PATH="/create",_.TENANT_MAPPING="/tenant-mapping",_.EMENU_AUTH_TOKEN="/emenu/auth/token",_.POS_ORDER_STATUS="/pos-order/status",_.PAYMENT_QR="/payment/qr",_.POS_DEVICE_PIN="/pos_device/pin",_.GET_PIN_CODE="/pos_device/get_pin_code",_.READ_GROUP="/read_group",_.GET_NOTIFICATION="/mail/data",_.PUBLIC_USER_INFO="/public/user/info",_))(O||{});export{A as a,T as b,O as c};
@@ -0,0 +1 @@
1
+ import {a as a$1}from'./chunk-LYD7QJQX.mjs';import {b,a,n,o}from'./chunk-Y65DQP66.mjs';import {a as a$2}from'./chunk-V2FKQ7ES.mjs';import {d,f as f$1}from'./chunk-MULIHGQM.mjs';import {c}from'./chunk-CI6PEZ77.mjs';import {createContext,useCallback,useState,useContext,useMemo,useEffect}from'react';import {QueryClient,QueryClientProvider,useMutation,useQuery}from'@tanstack/react-query';import {jsx,Fragment}from'react/jsx-runtime';import {createClient}from'@supabase/supabase-js';var ae=({children:e})=>{let[t]=useState(()=>new QueryClient({defaultOptions:{queries:{refetchOnWindowFocus:false,refetchOnMount:false,refetchOnReconnect:false,retry:false}}}));return jsx(QueryClientProvider,{client:t,children:e})};var Lo=({children:e})=>jsx(ae,{children:e});var Mr={env:null,baseUrl:"",requests:null,companies:[],user:{},config:null,envFile:null,defaultCompany:{id:null,logo:"",secondary_color:"",primary_color:"",secondary_logo:""},context:{uid:null,lang:"vi_VN",tz:"Asia/Saigon"},excludeLanguages:[],isSupaMode:false},Mo=createContext(null);function Oo({children:e,localStorageUtils:t=a(),sessionStorageUtils:r=b}){let[o,s]=useState({...Mr,localStorageUtils:t,sessionStorageUtils:r}),n=useCallback(i=>{let p={...o,...i,localStorageUtils:t,sessionStorageUtils:r},b=a$1.init(p);return s({...p,requests:b}),p},[o,t,r]),a=useCallback(i=>{s(p=>({...p,context:{...p.context,uid:i}}));},[]),u=useCallback(i=>{s(p=>({...p,context:{...p.context,lang:i}}));},[]),m=useCallback(i=>{s(p=>({...p,context:{...p.context,allowed_company_ids:i}}));},[]),l=useCallback(i=>{s(p=>({...p,companies:i}));},[]),C=useCallback(i=>{s(p=>({...p,defaultCompany:i}));},[]),v=useCallback(i=>{s(p=>({...p,user:i}));},[]),c=useCallback(i=>{s(p=>({...p,config:i}));},[]),y=useCallback(i=>{s(p=>({...p,envFile:i}));},[]);return jsx(Mo.Provider,{value:{env:o,setupEnv:n,setUid:a,setLang:u,setAllowCompanies:m,setCompanies:l,setDefaultCompany:C,setUserInfo:v,setConfig:c,setEnvFile:y},children:e})}function G(){let e=useContext(Mo);if(!e)throw new Error("useEnv must be used within an EnvProvider");return e}function R(){let{env:e}=G(),t=useCallback(async({idAction:l,context:C,service:v,xNode:c,searchParams:y})=>{let i={action_id:l,with_context:{...C}},p=y?`/load_action?${n(y)}`:"/load_action";return e.requests.post(p,i,{headers:{"Content-Type":"application/json","X-Node":c}},v)},[e]),r=useCallback(async({model:l,ids:C=[],context:v,method:c,service:y,xNode:i})=>{try{let p={model:l,method:c,ids:C,with_context:v};return e.requests.post("/call",p,{headers:{"Content-Type":"application/json",...i?{"X-Node":i}:{}}},y)}catch(p){throw console.error("Error when calling button action:",p),p}},[e]),o=useCallback(async({model:l,ids:C,context:v,service:c,xNode:y})=>{let i={model:l,method:"unlink",ids:C,with_context:v};return e.requests.post("/call",i,{headers:{"Content-Type":"application/json"},...y?{"X-Node":y}:{}},c)},[e]),s=useCallback(async({model:l,id:C,context:v,service:c,xNode:y})=>{let i={model:l,method:"copy",ids:C,with_context:v};return e.requests.post("/call",i,{headers:{"Content-Type":"application/json"},...y?{"X-Node":y}:{}},c)},[e]),n$1=useCallback(async({id:l})=>{let C={model:"ir.actions.report",method:"web_read",id:l,kwargs:{specification:{report_name:{}}}};return e.requests.post("/call",C,{headers:{"Content-Type":"application/json"}})},[e]),a=useCallback(async({id:l,report:C,db:v})=>{let y=n({report:C,id:l,type:"pdf",file_response:true,db:v}),i=`/report?${y}`;return e.requests.get(i,{headers:{"Content-Type":"application/json"},responseType:"arraybuffer"})},[e]),u=useCallback(async({idAction:l,context:C,service:v,xNode:c,searchParams:y})=>{let i={action_id:l,with_context:{...C}},p=y?`/run_action?${n(y)}`:"/run_action";return e.requests.post(p,i,{headers:{"Content-Type":"application/json",...c?{"X-Node":c}:{}}},v)},[e]),m=useCallback(async({kwargs:l,context:C,service:v,xNode:c})=>{let y={model:"stock.move",method:"action_generate_lot_line_vals",with_context:{...C},kwargs:l};return e.requests.post("/call",y,{headers:{"Content-Type":"application/json"},...c?{"X-Node":c}:{}},v)},[e]);return {loadAction:t,callButton:r,removeRows:o,duplicateRecord:s,getPrintReportName:n$1,print:a,runAction:u,generateSerialNumber:m}}var xo=createContext(null),qo=({supabaseUrl:e,supabaseKey:t,tenantId:r,children:o})=>{let s=useMemo(()=>!e||!t?null:createClient(e,t,{global:{headers:{"X-Tenant-ID":r}}}),[e,t]);return jsx(xo.Provider,{value:s,children:o})},No=()=>{let e=useContext(xo);if(!e)throw new Error("useSupabase must be used within a SupabaseProvider or check your env config");return e},L=()=>useContext(xo);function A(){let{env:e}=G(),t=L(),r=useCallback(async d=>{let g=Object.fromEntries(Object.entries({username:d.email,password:d.password,grant_type:e?.config?.grantType||"",client_id:e?.config?.clientId||"",client_secret:e?.config?.clientSecret||""}).filter(([w,S])=>!!S)),T=new URLSearchParams(g).toString();return e?.requests?.post(d.path,T,{headers:{"Content-Type":"application/x-www-form-urlencoded"}},d.service)},[e]),o=useCallback(async d=>{if(!t)return {data:null,error:{message:"Supabase client is not initialized"}};let{data:g,error:T}=await t.auth.signInWithPassword({email:d.email,password:d.password});return {data:g,error:T}},[t]),s=useCallback(async d=>{let g={login:d,url:`${window.location.origin}/reset-password`};return e?.requests?.post("/reset_password",g,{headers:{"Content-Type":"application/json"}})},[e]),n=useCallback(async({email:d,with_context:g,method:T})=>{let w={method:T,kwargs:{vals:{email:d}},with_context:g};return e?.requests?.post("/call",w,{headers:{"Content-Type":"application/json"}})},[e]),a=useCallback(async(d,g)=>{let T={token:g,password:d.password,new_password:d.confirmPassword};return e?.requests?.post("/change_password",T,{headers:{"Content-Type":"application/json"}})},[e]),u=useCallback(async({method:d,password:g,with_context:T})=>{let w={method:d,kwargs:{vals:{password:g}},with_context:T};return e?.requests?.post("/call",w,{headers:{"Content-Type":"application/json"}})},[e]),m=useCallback(async(d,g)=>{let T={token:g,old_password:d.oldPassword,new_password:d.newPassword};return e?.requests?.post("/change_password_parent",T,{headers:{"Content-Type":"application/json"}})},[e]),l=useCallback(async d=>{let g={token:d};return e?.requests?.post("/check_token",g,{headers:{"Content-Type":"application/json"}})},[e]),C=useCallback(async d=>{let g={};return e?.requests?.post("/action-token/validate",g,{headers:{"Content-Type":"application/json","X-Use-Action-Token":"true","X-Action-Token":d}})},[e]),v=useCallback(async({db:d,state:g,access_token:T})=>e?.requests?.post("/token/generate",{state:g,access_token:T},{headers:{"Content-Type":"application/json"}}),[e]),c=useCallback(async d=>e?.requests?.get("/oauth/providers",{params:{db:d}}),[e]),y=useCallback(async d=>{let g=new URLSearchParams;return g.append("code",d),g.append("grant_type","authorization_code"),g.append("client_id",e?.config?.clientId||""),g.append("redirect_uri",e?.config?.redirectUri||""),e?.requests?.post("/token",g,{headers:{"Content-Type":"application/x-www-form-urlencoded"}},"id")},[e]),i=useCallback(async d=>e?.requests?.post("/logout",{},{headers:{"Content-Type":"application/json","X-Use-Refresh-Token":"true"},withCredentials:true},d),[e]),p=useCallback(async({shortName:d,service:g})=>{let T={short_name:d};return e?.requests.post("/tenant-mapping",T,{headers:{"Content-Type":"application/json"}},g)},[e]),b=useCallback(async({phone:d,name:g,service:T,xNode:w})=>{let S={phone:d,name:g};return e?.requests.post("/emenu/auth/token",S,{headers:{"Content-Type":"application/json",...w?{"X-Node":w}:{}}},T)},[e]);return {login:r,loginSupabase:o,forgotPassword:s,forgotPasswordSSO:n,resetPassword:a,resetPasswordSSO:u,updatePassword:m,isValidToken:l,isValidActionToken:C,loginSocial:v,getProviders:c,getAccessByCode:y,logout:i,getTenantMapping:p,getToken:b}}function $(){let{env:e}=G(),t=useCallback(async(o,s)=>await e.requests.get("/company",{headers:s?{...s,"Content-Type":"application/json"}:{"Content-Type":"application/json"}},o),[e]),r=useCallback(async(o,s)=>{let n={ids:[o],model:"res.company",method:"web_read",kwargs:{specification:{primary_color:{},secondary_color:{},logo:{},display_name:{},secondary_logo:{}}}};return await e.requests.post("/call",n,{headers:{"Content-Type":"application/json"}},s)},[e]);return {getCurrentCompany:t,getInfoCompany:r}}function N(){let{env:e}=G(),t=useCallback(async({formData:m,service:l,xNode:C})=>e.requests.post("/upload/file",m,{headers:{"X-Node":C}},l),[e]),r=useCallback(async({formData:m,service:l,xNode:C})=>e.requests.post("/upload/file",m,{headers:{"X-Node":C}},l),[e]),o=useCallback(async({id:m,selectedSheet:l,isHeader:C,context:v,service:c,xNode:y})=>{let i={model:"base_import.import",method:"parse_preview",ids:[m],kwargs:{options:{import_skip_records:[],import_set_empty_fields:[],fallback_values:{},name_create_enabled_fields:{},encoding:"",separator:"",quoting:'"',date_format:"",datetime_format:"",float_thousand_separator:",",float_decimal_separator:".",advanced:true,has_headers:C,keep_matches:false,limit:2e3,sheets:[],sheet:l,skip:0,tracking_disable:true}},with_context:v};return e.requests.post("/call",i,{headers:{"Content-Type":"application/json","X-Node":y}},c)},[e]),s=useCallback(async({columns:m,fields:l,idFile:C,options:v,dryrun:c,context:y,service:i,xNode:p})=>{let b={model:"base_import.import",method:"execute_import",ids:[C],kwargs:{fields:l,columns:m,options:v,dryrun:c},with_context:y};return e.requests.post("/call",b,{headers:{"Content-Type":"application/json","X-Node":p}},i)},[e]),n=useCallback(async({model:m,service:l,xNode:C,context:v})=>{let c={model:m,method:"get_import_templates",args:[],context:v};return e.requests.post("/call",c,{headers:{"Content-Type":"application/json","X-Node":C}},l)},[e]),a=useCallback(async({ids:m,model:l,isShow:C,parentField:v,fieldType:c,parentName:y,prefix:i,name:p,context:b,importCompat:d,service:g,xNode:T})=>{let w={model:l,import_compat:d,domain:[["id","in",m]],with_context:b};return C&&(w.parent_field=v,w.parent_field_type=c,w.parent_name=y,w.name=p,w.prefix=i,w.exclude=[null]),e.requests.post("/export/get_fields",w,{headers:{"Content-Type":"application/json","X-Node":T}},g)},[e]),u=useCallback(async({model:m,domain:l,ids:C,fields:v,type:c,importCompat:y,context:i,groupby:p,service:b,xNode:d})=>{let g={model:m,domain:l,ids:C,import_compat:y,fields:v,with_context:i,groupby:p??[]};return e.requests.post_excel(`/export/${c}`,g,{headers:{"Content-Type":"application/json",...d?{"X-Node":d}:{}}},b)},[e]);return {uploadFileExcel:t,uploadIdFile:r,parsePreview:o,executeImport:s,getFileExcel:n,getFieldExport:a,exportExcel:u}}function F(){let{env:e}=G(),t=useCallback(async({data:c})=>{let y={thread_id:c.thread_id,thread_model:c.thread_model,limit:100,with_context:{lang:c.lang}};return e.requests.post("/chatter/thread/messages",y,{headers:{"Content-Type":"application/json"}})},[e]),r=useCallback(async({data:c,xNode:y,service:i})=>{let p={thread_id:c?.thread_id,thread_model:c?.thread_model,limit:c?.limit,with_context:c?.with_context,request_list:c?.request_list};return e.requests.post("/mail/thread/data",p,{headers:{"Content-Type":"application/json",...y?{"X-Node":y}:{}}},i)},[e]),o=useCallback(async({data:c,xNode:y,service:i})=>{let p={thread_id:c?.thread_id,thread_model:c?.thread_model,limit:c?.limit,with_context:c?.with_context};return e.requests.post("/mail/thread/messages",p,{headers:{"Content-Type":"application/json",...y?{"X-Node":y}:{}}},i)},[e]),s=useCallback(async({data:c})=>{let y={context:{tz:"Asia/Saigon",uid:2,allowed_company_ids:[1],mail_post_autofollow:false,temporary_id:142183.01},post_data:{body:c.message,message_type:"comment",attachment_ids:c.attachment_ids,attachment_tokens:[],subtype_xmlid:c.subtype},thread_id:Number(c.thread_id),thread_model:c.thread_model};return e.requests.post("/chatter/message/post",y,{headers:{"Content-Type":"application/json"}})},[e]),n=useCallback(async({data:c})=>{let y={attachment_ids:[],attachment_tokens:[],body:"",message_id:c.message_id};return e.requests.post("/chatter/message/update_content",y,{headers:{"Content-Type":"application/json"}})},[e]),a=useCallback(async({data:c})=>e.requests.get(`/web/image?filename=${c.filename}&unique=${c.checksum}&width=1920&height=300`,{headers:{"Content-Type":"application/json"}}),[e]),u=useCallback(async({formData:c,service:y,xNode:i})=>e.requests.post("/mail/attachment/upload",c,{headers:{...i?{"X-Node":i}:{}}},y),[e]),m=useCallback(async({formData:c,service:y,xNode:i,path:p})=>e.requests.post(p,c,{headers:{...i?{"X-Node":i}:{}}},y),[e]),l=useCallback(async({data:c})=>{let y={model:c.model,method:"get_formview_action",ids:c.id?[c.id]:[],with_context:c.context};return e.requests.post("/call",y,{headers:{"Content-Type":"application/json"}})},[e]),C=useCallback(async({data:c})=>{let y={[c.name]:c.stage_id},i={model:c.model,method:"web_save",with_context:{lang:c.lang,allowed_company_ids:[1],uid:2,search_default_my_ticket:true,search_default_is_open:true},ids:[c.id],kwargs:{vals:y,specification:{}}};return e.requests.post("/call",i,{headers:{"Content-Type":"application/json"}})},[e]),v=useCallback(async({method:c,context:y,service:i,xNode:p})=>e?.requests?.post("/call",{method:c,with_context:y},{headers:{"Content-Type":"application/json",...p?{"X-Node":p}:{}}},i),[e]);return {getComment:t,sentComment:s,deleteComment:n,getImage:a,uploadImage:u,getFormView:l,changeStatus:C,uploadFile:m,getThreadMessages:o,getThreadData:r,getExternalTab:v}}function z(){let{env:e}=G(),t=useCallback(async({model:o,width_context:s})=>{let n={model:o,method:"web_read_group",kwargs:{domain:[["stage_id.fold","=",false]],fields:["color:sum"],groupby:["stage_id"]},width_context:s};return e.requests.post("/call",n,{headers:{"Content-Type":"application/json"}})},[e]),r=useCallback(async({field:o,color:s,model:n,width_context:a})=>{let u={model:n,method:"read_progress_bar",kwargs:{domain:[],group_by:"stage_id",progress_bar:{colors:s,field:o}},width_context:a};return e.requests.post("/call",u,{headers:{"Content-Type":"application/json"}})},[e]);return {getGroups:t,getProgressBar:r}}function E(){let{env:e}=G(),t=useCallback(async({domain:i,spectification:p,model:b})=>{let d={model:b,method:"web_search_read",kwargs:{specification:p,domain:i,limit:100,offset:0}};return e.requests.post("/call",d,{headers:{"Content-Type":"application/json"}})},[e]),r=useCallback(async()=>{let i={model:"res.currency",method:"web_search_read",kwargs:{specification:{icon_url:{},name:{}},domain:[["active","=",true]],limit:100,offset:0}};return e.requests.post("/call",i,{headers:{"Content-Type":"application/json"}})},[e]),o=useCallback(async()=>{let i={model:"res.currency",method:"web_search_read",kwargs:{specification:{name:{},icon_url:{},rate_ids:{fields:{company_rate:{},sell:{}}}},domain:[["active","=",true]],limit:100,offset:0}};return e.requests.post("/call",i,{headers:{"Content-Type":"application/json"}})},[e]),s=useCallback(async({data:i,service:p,xNode:b,searchParams:d})=>{let g=i.type=="calendar"?{fields:i?.fields}:i.fields&&i.fields.length>0&&i.groupby&&i.groupby.length>0&&i.groupby[0]?{fields:i.fields,groupby:i.groupby}:{count_limit:10001,order:i.sort,specification:i.specification},T={model:String(i.model),method:i.type=="calendar"?"search_read":g.fields&&g.groupby?"web_read_group":"web_search_read",ids:i.ids,with_context:i.context,kwargs:{domain:i.domain,limit:i.limit,offset:i.offset,...g}},w=d?`/call?${n(d)}`:"/call";return e.requests.post(w,T,{headers:{"Content-Type":"application/json",...b?{"X-Node":b}:{}}},p)},[e]),n$1=useCallback(async({data:i})=>{let p=i.type=="calendar"?i?.fields:i.fields&&i.fields.length>0&&i.groupby&&i.groupby.length>0&&i.groupby[0]?{fields:i.fields,groupby:i.groupby}:{count_limit:10001,order:i.sort,specification:i.specification},b={model:String(i.model),method:i.type=="calendar"?"search_read":p.fields&&p.groupby?"web_read_group":"web_search_read",ids:i.ids,with_context:i.context,kwargs:{domain:i.domain,limit:i.limit,offset:i.offset,fields:i.fields,...p}};return e.requests.post("/call",b,{headers:{"Content-Type":"application/json"}})},[e]),a=useCallback(async({model:i,ids:p=[],specification:b={},domain:d=[],offset:g,order:T,context:w={},limit:S=10})=>{let h={model:i,method:"web_search_read",ids:p,with_context:w,kwargs:{specification:b,domain:d,limit:S,offset:g,order:T}};return e.requests.post("/call",h,{headers:{"Content-Type":"application/json"}})},[e]),u=useCallback(async({ids:i=[],model:p,specification:b,context:d,service:g,xNode:T})=>{let w={model:p,method:"web_read",ids:i,with_context:d,kwargs:{specification:b}};return e.requests.post("/call",w,{headers:{"Content-Type":"application/json",...T?{"X-Node":T}:{}}},g)},[e]),m=useCallback(async({model:i,ids:p=[],data:b={},specification:d={},context:g={},path:T,service:w,xNode:S})=>{let h={model:i,method:"web_save",with_context:g,ids:p,kwargs:{vals:b,specification:d}};return e.requests.post(T??"/call",h,{headers:{"Content-Type":"application/json",...S?{"X-Node":S}:{}}},w)},[e]),l=useCallback(async({ids:i=[],model:p,service:b})=>{let d={model:p,method:"unlink",ids:i};return e.requests.post("/call",d,{headers:{"Content-Type":"application/json"}},b)},[e]),C=useCallback(async({ids:i=[],model:p,object:b,specification:d,context:g,fieldChange:T,service:w,xNode:S})=>{let h={model:p,method:"onchange",ids:i,with_context:g,args:[b||{},T||[],d]};return e.requests.post("/call",h,{headers:{"Content-Type":"application/json",...S?{"X-Node":S}:{}}},w)},[e]),v=useCallback(async({model:i,service:p,xNode:b})=>{let d={model:i,method:"get_fields_onchange"};return e.requests.post("/call",d,{headers:{"Content-Type":"application/json",...b?{"X-Node":b}:{}}},p)},[e]),c=useCallback(i=>{for(let p in i)p==="display_name"&&delete i[p],!i[p]&&i[p]!==0&&(i[p]=false);return {...i}},[]),y=useCallback((i,p,b)=>{for(let d in i)i[d]===false?p&&b?p?.models?.[b]?.[d]?.type!=="boolean"&&(i[d]=null):i[d]=null:i[d]!==false&&b!==void 0&&(p?.models?.[b]?.[d]?.type==="one2many"||p?.models?.[b]?.[d]?.type==="many2many")&&(i[d]=(i[d]??=[])?.map(g=>{let T=p?.models?.[b]?.[d]?.relation;if(T!==void 0){if(p?.models?.[T])return g?.length>=3?y(g[2],p,T):y(g,p,T);if(g?.length>=3)return g[2];if(g!==0)return g}})?.filter(Boolean));return {...i}},[]);return {getListMyBankAccount:t,getCurrency:r,getConversionRate:o,getAll:s,getListCalendar:n$1,getList:a,getDetail:u,save:m,deleteApi:l,onChange:C,getListFieldsOnchange:v,parseORMOdoo:c,toDataJS:y}}function W(){let{env:e}=G(),t=useCallback(async(s,n,a)=>e?.requests?.get(n||"/userinfo",{headers:a?{...a,"Content-Type":"application/x-www-form-urlencoded"}:{"Content-Type":"application/x-www-form-urlencoded"}},s),[e]),r=useCallback(async({context:s,id:n})=>{let a={model:"res.users",method:"web_read",ids:[n],with_context:s,kwargs:{specification:{display_name:{},image_1920:{},name:{},login:{},email:{},password:{},visible_group_id:{fields:{id:{},display_name:{}}},company_id:{fields:{id:{},display_name:{}}}}}};return e.requests.post("/call",a,{headers:{"Content-Type":"application/json"}})},[e]),o=useCallback(async({id:s,values:n,service:a})=>{let u={model:"res.users",domain:[["id","=",s]],values:n};return e?.requests.post(c?.CREATE_UPDATE_PATH,u,{headers:{"Content-Type":"application/json"}},a)},[e]);return {getProfile:t,getUser:r,switchUserLocale:o}}function _(){let{env:e}=G(),t=useCallback(async({model:S,views:h,context:P={},options:D={},aid:O,service:V,xNode:Y,searchParams:ne})=>{let _o={load_filters:true,toolbar:true,action_id:O},br={model:S,method:"get_fields_view_v2",kwargs:{views:h,options:{...D,..._o}},with_context:P},Tr=ne?`/call?${n(ne)}`:"/call";return e?.requests?.post(Tr,br,{headers:{"Content-Type":"application/json",...Y?{"X-Node":Y}:{}}},V)},[e]),r=useCallback(async(S,h,P,D)=>{let O={model:"ir.ui.menu",method:"web_search_read",ids:[],with_context:S,kwargs:{specification:h,domain:P??["&",["is_display","=",true],"&",["active","=",true],["parent_id","=",false]]}};return e?.requests?.post("/call",O,{headers:{"Content-Type":"application/json"}},D)},[e]),o=useCallback(async(S,h)=>{let P={model:"ir.actions.act_window",method:"web_read",ids:[S],with_context:h,kwargs:{specification:{id:{},name:{},res_model:{},views:{},view_mode:{},mobile_view_mode:{},domain:{},context:{},groups_id:{},search_view_id:{}}}};return e?.requests?.post("/call",P,{headers:{"Content-Type":"application/json"}})},[e]),s=useCallback(async({model:S,ids:h,context:P,offset:D,service:O,xNode:V})=>{let Y={model:S,with_context:P,ids:h,field:"sequence",...D>0?{offset:D}:{}};return e?.requests.post("/web/dataset/resequence",Y,{headers:{"Content-Type":"application/json",...V?{"X-Node":V}:{}}},O)},[e]),n$1=useCallback(async({data:S,service:h,xNode:P})=>{let D={model:S.model,ids:[],method:"get_data_select",with_context:S.context,kwargs:{count_limit:10001,domain:S.domain?S.domain:[],offset:0,order:"",specification:S?.specification??{id:{},name:{},display_name:{}}}};return e?.requests.post("/call",D,{headers:{"Content-Type":"application/json",...P?{"X-Node":P}:{}}},h)},[e]),a=useCallback(async()=>e.requests.post("/load_message_failures",{},{headers:{"Content-Type":"application/json"}}),[e]),u=useCallback(async()=>e?.requests?.get("",{headers:{"Content-Type":"application/json"}}),[e]),m=useCallback(async({redirect_uri:S,state:h,client_id:P,scopes:D})=>{let O={redirect_uri:S,state:h,client_id:P,scopes:D};return e?.requests.post("/grant-access",O,{headers:{"Content-Type":"application/json"},withCredentials:true},"id")},[e]),l=useCallback(async({method:S,token:h})=>{let P={method:S,with_context:{token:h}};return e?.requests.post("/call",P,{headers:{"Content-Type":"application/json"}},"id")},[e]),C=useCallback(async({method:S,token:h})=>{let P={method:S,with_context:{token:h}};return e?.requests.post("/call",P,{headers:{"Content-Type":"application/json"}},"id")},[e]),v=useCallback(async({method:S,model:h,kwargs:P,token:D})=>{let O={method:S,model:h,kwargs:P,with_context:{token:D}};return e?.requests.post("/call",O,{headers:{"Content-Type":"application/json"}},"id")},[e]),c=useCallback(async({redirect_uri:S,state:h,client_id:P,response_type:D,path:O,scope:V})=>{let ne=`${new URLSearchParams({response_type:D,client_id:P,redirect_uri:S,state:h}).toString()}&scope=${encodeURIComponent(V)}`,_o=`${O}?${ne}`;return e?.requests.get(_o,{headers:{"Content-Type":"application/json"},withCredentials:true},"id")},[e]),y=useCallback(({method:S,with_context:h,code:P,device:D,location:O})=>{let V={method:S,kwargs:{vals:{code:P,device:D,location:O}},with_context:h};return e?.requests.post("/call",V,{headers:{"Content-Type":"application/json"},withCredentials:true},"id")},[e]),i=useCallback(({method:S,with_context:h})=>{let P={method:S,with_context:h};return e?.requests.post("/call",P,{headers:{"Content-Type":"application/json"}},"id")},[e]),p=useCallback(({method:S,action_token:h,code:P})=>{let D={method:S,kwargs:{vals:{code:P}},with_context:{action_token:h}};return e?.requests.post("/call",D,{headers:{"Content-Type":"application/json"}})},[e]),b=useCallback(async({service:S,xNode:h,body:P})=>e?.requests?.post("/mail/data",P,{headers:{"Content-Type":"application/json",...h?{"X-Node":h}:{}}},S),[e]),d=useCallback(async({service:S,xNode:h,ids:P,kwargs:D})=>{let O={model:"res.country",ids:P,method:"get_data_select",kwargs:D};return e?.requests?.post("/call",O,{headers:{"Content-Type":"application/json",...h?{"X-Node":h}:{}}},S)},[e]),g=useCallback(async({service:S,xNode:h,ids:P,kwargs:D})=>{let O={model:"res.country.state",ids:P,method:"get_data_select",kwargs:D};return e?.requests?.post("/call",O,{headers:{"Content-Type":"application/json",...h?{"X-Node":h}:{}}},S)},[e]),T=useCallback(async({service:S,xNode:h,kwargs:P})=>{let D={model:"res.country.ward",method:"get_data_select",kwargs:P};return e?.requests?.post("/call",D,{headers:{"Content-Type":"application/json",...h?{"X-Node":h}:{}}},S)},[e]),w=useCallback(async({service:S,xNode:h,kwargs:P,withContext:D})=>{let O={model:"res.partner.title",method:"get_data_select",kwargs:P,with_context:D};return e?.requests?.post("/call",O,{headers:{"Content-Type":"application/json",...h?{"X-Node":h}:{}}},S)},[e]);return {getView:t,getMenu:r,getActionDetail:o,getResequence:s,getSelectionItem:n$1,loadMessages:a,getVersion:u,grantAccess:m,removeTotpSetUp:l,requestSetupTotp:C,settingsWebRead2fa:v,signInSSO:c,verify2FA:y,get2FAMethods:i,verifyTotp:p,getNotifications:b,getCountry:d,getCity:g,getWard:T,getPartnerTitle:w}}function J(){let{env:e}=G(),t=useCallback(async({service:o,xNode:s,body:n})=>e.requests.post("/read_group",n,{headers:{"Content-Type":"application/json","X-Node":s}},o),[e]),r=useCallback(async({service:o,xNode:s,body:n,path:a,method:u="POST"})=>{let m={"Content-Type":"application/json","X-Node":s};return u==="GET"?e.requests.get(a,{headers:m},o):e.requests.post(a,n,{headers:m},o)},[e]);return {readGroup:t,getDataChart:r}}var Io=e=>({getASession:useCallback(async({model:r,args:o,domain:s,service:n,xNode:a})=>{let u={model:r,method:"web_search_read",args:o,kwargs:{domain:[s],specification:{name:{},user_id:{},config_id:{},start_at:{},stop_at:{},sequence_number:{},login_number:{},payment_method_ids:{},state:{},update_stock_at_closing:{},cash_register_balance_start:{}}}};return e?.requests.post("/call",u,{headers:{"Content-Type":"application/json",...a?{"X-Node":a}:{}}},n)},[e])});var Ho=e=>({addEntity:useCallback(({model:r,values:o,xNode:s,service:n,isCreateEndpoint:a=false,isSupa:u=false,supaCallback:m})=>{if(u&&m)return m(o);let l={model:r,values:o};return e?.requests.post(a?"/create":"/call",l,{headers:{"Content-Type":"application/json",...s?{"X-Node":s}:{}}},n)},[e])});var Vo=e=>({changeOrderPreparationState:useCallback(({orderId:r,stageId:o,preparationDisplayId:s,xNode:n,service:a})=>{let u={model:"pos_preparation_display.order",method:"change_order_stage",ids:r,kwargs:{stage_id:o,preparation_display_id:s}};return e?.requests.post("/call",u,{headers:{"Content-Type":"application/json",...n?{"X-Node":n}:{}}},a)},[e])});var Bo=e=>({checkPayment:useCallback(({model:r,ids:o,withContext:s,xNode:n,service:a})=>{let u={model:r,method:"check",ids:o,with_context:s};return e?.requests.post("/call",u,{headers:{"Content-Type":"application/json",...n?{"X-Node":n}:{}}},a)},[e])});var Xo=e=>({createEInvoice:useCallback(async({service:r,xNode:o,kwargs:s,ids:n,withContext:a})=>{let u={model:"pos.order",method:"create_e_invoice",kwargs:s,ids:n,with_context:a};return e?.requests?.post("/call",u,{headers:{"Content-Type":"application/json",...o?{"X-Node":o}:{}}},r)},[e])});var Wo=e=>({createEntity:useCallback(({model:r,args:o,xNode:s,service:n,isSupa:a=false,supaCallback:u})=>{if(a&&u)return u(o);let m={model:r,method:"create",args:o};return e?.requests.post("/call",m,{headers:{"Content-Type":"application/json",...s?{"X-Node":s}:{}}},n)},[e])});var Qo=e=>({createPosConfig:useCallback(({model:r,name:o,modulePosRestaurant:s,xNode:n,service:a})=>{let u={model:r,values:{name:o,module_pos_restaurant:s}};return e?.requests.post("/create",u,{headers:{"Content-Type":"application/json",...n?{"X-Node":n}:{}}},a)},[e])});var Ko=e=>({createSession:useCallback(({model:r,configId:o,xNode:s,service:n})=>{let a={model:r,method:"create",args:[{config_id:o}]};return e?.requests.post("/call",a,{headers:{"Content-Type":"application/json",...s?{"X-Node":s}:{}}},n)},[e])});var $o=e=>({deleteEntity:useCallback(({model:r,ids:o,xNode:s,service:n,method:a,isSupa:u=false,supaCallback:m})=>{if(u&&m)return m(o);let l={model:r,ids:o,method:a};return e?.requests.post("/call",l,{headers:{"Content-Type":"application/json",...s?{"X-Node":s}:{}}},n)},[e])});var zo=e=>({generatePaymentQRInfo:useCallback(({orderId:r,amount:o,posSessionId:s,xNode:n,service:a})=>{let u={order_id:r,amount:o,pos_session_id:s};return e?.requests.post("/payment/qr",u,{headers:{"Content-Type":"application/json",...n?{"X-Node":n}:{}}},a)},[e])});var Jo=e=>({getCurrentUser:useCallback(async({service:r,xNode:o,oauthUid:s,extraHeaders:n})=>e?.requests?.get(`/public/user/info/${s}`,{headers:n?{...n,"Content-Type":"application/json",...o?{"X-Node":o}:{}}:{"Content-Type":"application/json",...o?{"X-Node":o}:{}}},r),[e])});var Yo=e=>({getList:useCallback(async({model:r,domain:o$1,xNode:s,service:n,specification:a,offset:u,limit:m})=>{let l={model:r,method:"web_search_read",kwargs:o({domain:o$1,offset:u,limit:m,specification:a})};return e?.requests.post("/call",l,{headers:{"Content-Type":"application/json",...s?{"X-Node":s}:{}}},n)},[e])});var Zo=e=>({getOrderLine:useCallback(({model:r,ids:o,specification:s,xNode:n,service:a})=>{let u={model:r,method:"web_read",ids:o,kwargs:{specification:s}};return e?.requests.post("/call",u,{headers:{"Content-Type":"application/json",...n?{"X-Node":n}:{}}},a)},[e])});var er=e=>({getPinCode:useCallback(({serialNumber:r,xNode:o,service:s})=>{let n={serial_number:r};return e?.requests.post("/pos_device/get_pin_code",n,{headers:{"Content-Type":"application/json",...o?{"X-Node":o}:{}}},s)},[e])});var tr=e=>({getPOS:useCallback(({model:r,args:o,domain:s,xNode:n,service:a})=>{let u={model:r,method:"web_search_read",args:o,kwargs:{domain:s,specification:{cash_control:{},current_session_id:{fields:{display_name:{}}},current_session_state:{},pos_session_state:{},pos_session_duration:{},currency_id:{fields:{display_name:{}}},name:{},pos_session_username:{},last_session_closing_date:{},last_session_closing_cash:{},number_of_rescue_session:{},current_user_id:{fields:{display_name:{}}},customer_display_type:{},module_pos_restaurant:{}}}};return e?.requests.post("/call",u,{headers:{"Content-Type":"application/json",...n?{"X-Node":n}:{}}},a)},[e])});var or=e=>({getPreparationDisplayData:useCallback(({ids:r,xNode:o,service:s,withContext:n})=>{let a={model:"pos_preparation_display.display",method:"get_preparation_display_data",ids:r,with_context:n};return e?.requests.post("/call",a,{headers:{"Content-Type":"application/json",...o?{"X-Node":o}:{}}},s)},[e])});var rr=e=>({getProductImage:useCallback(({model:r,fields:o,limit:s,offset:n$1,domain:a,xNode:u,service:m,searchParams:l})=>{let C={model:r,fields:o,limit:s,offset:n$1,domain:a},v=l?`/search_read?${n(l)}`:"/search_read";return e?.requests.post(v,C,{headers:{"Content-Type":"application/json",...u?{"X-Node":u}:{}}},m)},[e])});var sr=e=>({handleCloseSession:useCallback(({model:r,ids:o,xNode:s,service:n,method:a})=>{let u={model:r,ids:o,method:a};return e?.requests.post("/call",u,{headers:{"Content-Type":"application/json",...s?{"X-Node":s}:{}}},n)},[e])});var nr=e=>({handleClosingDetailSession:useCallback(({model:r,ids:o,method:s,xNode:n,service:a,kwargs:u})=>{let m={model:r,ids:o,method:s,kwargs:u};return e?.requests.post("/call",m,{headers:{"Content-Type":"application/json",...n?{"X-Node":n}:{}}},a)},[e])});var ar=e=>({handleClosingSession:useCallback(({model:r,method:o,ids:s,kwargs:n,xNode:a,service:u})=>{let m={model:r,method:o,ids:s,kwargs:n};return e?.requests.post("/call",m,{headers:{"Content-Type":"application/json",...a?{"X-Node":a}:{}}},u)},[e])});var bo=(e,t=[])=>({modelName:e,data:t,fields:{},relations:{}}),ur=e=>{let t=L(),r=useCallback(async({model:s,ids:n$1,xNode:a,service:u,withContext:m,modelsToLoad:l=[],searchParams:C})=>{let v={model:s,method:"load_data",ids:n$1,with_context:m||{uid:37,lang:"vi_VN",tz:"Asia/Saigon"},kwargs:{models_to_load:l}},c=C?`/call?${n(C)}`:"/call";return e?.requests.post(c,v,{headers:{"Content-Type":"application/json",...a?{"X-Node":a}:{}}},u)},[e]),o=useCallback(async()=>{if(!t)return {};try{let s=Object.values(d);return (await Promise.all(s.map(async a=>{let u=f$1[a];if(!u)return bo(a);let{data:m,error:l}=await t.from(u).select("*");return l?(console.error(`Error loading ${a}:`,l),bo(a)):bo(a,m||[])}))).reduce((a,{modelName:u,...m})=>(a[u]=m,a),{})}catch(s){return console.error("Error loading data from Supabase:",s),{}}},[t]);return {loadDataPosSession:r,loadDataPosSessionSupabase:o}};var pr=e=>({manageOnChange:useCallback(({model:r,ids:o,args:s,xNode:n,service:a})=>{let u={model:r,method:"onchange",ids:o,args:s};return e?.requests.post("/call",u,{headers:{"Content-Type":"application/json",...n?{"X-Node":n}:{}}},a)},[e])});var cr=e=>({manageSession:useCallback(({model:r,method:o,ids:s,args:n,kwargs:a,xNode:u,service:m})=>{let l={model:r,method:o,ids:s,args:n,kwargs:a};return e?.requests.post("/call",l,{headers:{"Content-Type":"application/json",...u?{"X-Node":u}:{}}},m)},[e])});var mr=e=>({processOrder:useCallback(({orderId:r,xNode:o,service:s})=>{let n={model:"pos_preparation_display.order",method:"process_order",kwargs:{order_id:r}};return e?.requests.post("/call",n,{headers:{"Content-Type":"application/json",...o?{"X-Node":o}:{}}},s)},[e])});var dr=e=>({savePinCode:useCallback(({serialNumber:r,pinCode:o,xNode:s,service:n})=>{let a={serial_number:r,pin_code:o};return e?.requests.put("/pos_device/pin",a,{headers:{"Content-Type":"application/json",...s?{"X-Node":s}:{}}},n)},[e])});var lr=e=>({searchJournal:useCallback(({model:r,method:o,args:s,kwargs:n,xNode:a,service:u})=>{let m={model:r,method:o,args:s,kwargs:n};return e?.requests.post("/call",m,{headers:{"Content-Type":"application/json",...a?{"X-Node":a}:{}}},u)},[e])});var fr=e=>({updateClosedSession:useCallback(({model:r,domain:o,values:s,service:n,xNode:a})=>{let u={model:r,domain:o,values:s};return e?.requests.post("/create_update",u,{headers:{"Content-Type":"application/json",...a?{"X-Node":a}:{}}},n)},[e])});var yr=e=>({updateEntity:useCallback(({model:r,domain:o,values:s,isCreateEndpoint:n=true,xNode:a,service:u,isSupa:m=false,supaCallback:l})=>{if(m&&l)return l(s);let C={model:r,domain:o,values:s};return e?.requests.post(n?"/create_update":"/call",C,{headers:{"Content-Type":"application/json",...a?{"X-Node":a}:{}}},u)},[e])});var gr=e=>({updateOrderStatus:useCallback(({orderId:r,state:o,xNode:s,service:n})=>{let a={order_id:r,state:o};return e?.requests.put("/pos-order/status",a,{headers:{"Content-Type":"application/json",...s?{"X-Node":s}:{}}},n)},[e])});var Sr=e=>({completeCurrentStage:useCallback(({ids:r,withContext:o,xNode:s,service:n,requestStageId:a})=>{let u={model:"pos_preparation_display.orderline",method:"complete_current_stage",ids:r,kwargs:{request_stage_id:a},with_context:o||{lang:"vi_VN",tz:"Asia/Ho_Chi_Minh",uid:2}};return e?.requests.post("/call",u,{headers:{"Content-Type":"application/json",...s?{"X-Node":s}:{}}},n)},[e])});var Z=()=>{let e=L();return {addFloorSupabase:useCallback(async r=>{if(!e)return console.error("Supabase client not initialized"),null;try{let{data:o,error:s}=await e.from("restaurant_floors").insert({name:r.name,sequence:r.sequence??1,pos_config_ids:r.pos_config_ids??[],table_ids:r.table_ids??[]}).select("id, name").single();return s?(console.error("Error adding floor:",s),null):[[o.id,o.name]]}catch(o){return console.error("Error adding floor:",o),null}},[e])}};var ee=()=>{let e=L();return {addTableSupabase:useCallback(async r=>{if(!e)return console.error("Supabase client not initialized"),null;try{let{data:o,error:s}=await e.from("restaurant_tables").insert({floor_id:r.floor_id,table_number:r.table_number??0,seats:r.seats??1}).select("id, table_number").single();return s?(console.error("Error adding table:",s),null):[[o.id,o.table_number]]}catch(o){return console.error("Error adding table:",o),null}},[e])}};var te=()=>{let e=L();return {updateFloorSupabase:useCallback(async r=>{if(!e)return console.error("Supabase client not initialized"),false;try{let{id:o,...s}=r,{error:n}=await e.from("restaurant_floors").update(s).eq("id",o);return n?(console.error("Error updating floor:",n),!1):!0}catch(o){return console.error("Error updating floor:",o),false}},[e])}};var oe=()=>{let e=L();return {updateTableSupabase:useCallback(async r=>{if(!e)return console.error("Supabase client not initialized"),false;try{let{id:o,...s}=r,{error:n}=await e.from("restaurant_tables").update(s).eq("id",o);return n?(console.error("Error updating table:",n),!1):!0}catch(o){return console.error("Error updating table:",o),false}},[e])}};var re=()=>{let e=L();return {deleteFloorSupabase:useCallback(async r=>{if(!e)return console.error("Supabase client not initialized"),false;try{let{error:o}=await e.from("restaurant_floors").delete().eq("id",r.id);return o?(console.error("Error deleting floor:",o),!1):!0}catch(o){return console.error("Error deleting floor:",o),false}},[e])}};var se=()=>{let e=L();return {deleteTableSupabase:useCallback(async r=>{if(!e)return console.error("Supabase client not initialized"),false;try{let{error:o}=await e.from("restaurant_tables").delete().eq("id",r.id);return o?(console.error("Error deleting table:",o),!1):!0}catch(o){return console.error("Error deleting table:",o),false}},[e])}};var _s=[Ho,Io,Vo,Bo,Xo,Wo,Qo,Ko,$o,zo,Jo,Yo,Zo,er,tr,or,rr,sr,nr,ar,ur,pr,cr,mr,dr,lr,fr,yr,gr,Sr,Z,ee,te,oe,re,se],f=()=>{let{env:e}=G(),t={};for(let r of _s){let o=r(e);Object.assign(t,o);}return t};var vs=()=>{let{forgotPassword:e}=A();return useMutation({mutationFn:t=>e(t)})},ie=vs;var Ts=()=>{let{forgotPasswordSSO:e}=A();return useMutation({mutationFn:({email:t,with_context:r,method:o})=>e({email:t,with_context:r,method:o})})},ue=Ts;var As=()=>{let{getProviders:e}=A();return useMutation({mutationFn:t=>e(t?.db)})},pe=As;var Es=()=>{let{isValidToken:e}=A();return useMutation({mutationFn:t=>e(t)})},ce=Es;var Ds=()=>{let{login:e}=A();return useMutation({mutationFn:t=>e(t)})},me=Ds;var Ls=()=>{let{loginSocial:e}=A();return useMutation({mutationFn:t=>e(t)})},de=Ls;var Os=()=>{let{loginSupabase:e}=A();return useMutation({mutationFn:t=>e({email:t.email,password:t.password})})},le=Os;var qs=()=>{let{resetPassword:e}=A();return useMutation({mutationFn:t=>e(t.data,t.token)})},fe=qs;var Us=()=>{let{resetPasswordSSO:e}=A();return useMutation({mutationFn:({method:t,password:r,with_context:o})=>e({method:t,password:r,with_context:o})})},ye=Us;var js=()=>{let{updatePassword:e}=A();return useMutation({mutationFn:t=>e(t.data,t.token)})},ge=js;var Hs=()=>{let{logout:e}=A();return useMutation({mutationFn:t=>e(t)})},Se=Hs;var Bs=()=>{let{getAccessByCode:e}=A();return useMutation({mutationFn:({code:t})=>e(t)})},Ce=Bs;var Ws=()=>{let{isValidActionToken:e}=A();return useMutation({mutationFn:({actionToken:t})=>e(t)})},he=Ws;var Ks=()=>{let{getTenantMapping:e}=A();return useMutation({mutationFn:({shortName:t,service:r})=>e({shortName:t,service:r})})},_e=Ks;var zs=()=>{let{getToken:e}=A();return useMutation({mutationFn:({phone:t,name:r,service:o,xNode:s})=>e({phone:t,name:r,service:o,xNode:s})})},xe=zs;var Ys=()=>{let{getInfoCompany:e}=$();return useMutation({mutationFn:({service:t,id:r})=>e(r,t)})},ve=Ys;var en=()=>{let{getCurrentCompany:e}=$();return useMutation({mutationFn:({service:t,extraHeaders:r})=>e(t,r)})},be=en;var on=(e=[])=>{let{getList:t}=E(),r={id:{},name:{}},o={model:"res.company",ids:e,specification:r};return useQuery({queryKey:["list_company",e],queryFn:()=>t(o),refetchOnWindowFocus:false})},Te=on;var sn=()=>{let{exportExcel:e}=N();return useMutation({mutationFn:({model:t,domain:r,ids:o,fields:s,type:n,importCompat:a,context:u,groupby:m,service:l,xNode:C})=>e({model:t,domain:r,ids:o,fields:s,type:n,importCompat:a,context:u,groupby:m,service:l,xNode:C})})},Pe=sn;var an=()=>{let{getFieldExport:e}=N();return useMutation({mutationFn:({ids:t,model:r,isShow:o,parentField:s,fieldType:n,parentName:a,prefix:u,name:m,context:l,importCompat:C,service:v,xNode:c})=>e({ids:t,model:r,isShow:o,parentField:s,fieldType:n,parentName:a,prefix:u,name:m,context:l,importCompat:C,service:v,xNode:c})})},Ae=an;var pn=({model:e,service:t,xNode:r,context:o})=>{let{getFileExcel:s}=N();return useQuery({queryKey:["excel",e],queryFn:()=>s({model:e,service:t,xNode:r,context:o}).then(n=>n||[]),refetchOnWindowFocus:false})},Ge=pn;var mn=()=>{let{parsePreview:e}=N();return useMutation({mutationFn:({id:t,selectedSheet:r,isHeader:o,context:s,service:n,xNode:a})=>e({id:t,selectedSheet:r,isHeader:o,context:s,service:n,xNode:a})})},Ee=mn;var ln=()=>{let{uploadFileExcel:e}=N();return useMutation({mutationFn:({formData:t,service:r,xNode:o})=>e({formData:t,service:r,xNode:o})})},we=ln;var yn=()=>{let{uploadIdFile:e}=N();return useMutation({mutationFn:({formData:t,service:r,xNode:o})=>e({formData:t,service:r,xNode:o})})},De=yn;var Sn=()=>{let{executeImport:e}=N();return useMutation({mutationFn:({fields:t,columns:r,idFile:o,options:s,dryrun:n,context:a,service:u,xNode:m})=>e({fields:t,columns:r,idFile:o,options:s,dryrun:n,context:a,service:u,xNode:m})})},Fe=Sn;var hn=()=>{let{changeStatus:e}=F();return useMutation({mutationFn:({data:t})=>e({data:t})})},Le=hn;var xn=()=>{let{deleteComment:e}=F();return useMutation({mutationFn:({data:t})=>e({data:t})})},Me=xn;var bn=({data:e,queryKey:t})=>{let{getComment:r}=F();return useQuery({queryKey:t,queryFn:()=>r({data:e}).then(o=>{if(o)return o}),enabled:!!e.thread_id&&!isNaN(e.thread_id),refetchOnWindowFocus:false})},Oe=bn;var Pn=({data:e,queryKey:t,enabled:r})=>{let{getFormView:o}=F();return useQuery({queryKey:t,queryFn:()=>o({data:e}).then(s=>{if(s)return s}),enabled:r,refetchOnWindowFocus:false})},Re=Pn;var Gn=()=>{let{sentComment:e}=F();return useMutation({mutationFn:({data:t})=>e({data:t})})},qe=Gn;var wn=()=>{let{uploadImage:e}=F();return useMutation({mutationFn:({formData:t,service:r,xNode:o})=>e({formData:t,service:r,xNode:o})})},Ne=wn;var Fn=()=>{let{uploadFile:e}=F();return useMutation({mutationFn:({formData:t,service:r,xNode:o,path:s})=>e({formData:t,service:r,xNode:o,path:s})})},Ue=Fn;var Mn=({data:e,queryKey:t,enabled:r,service:o,xNode:s})=>{let{getThreadData:n}=F();return useQuery({queryKey:t,queryFn:()=>n({data:e,service:o,xNode:s}).then(a=>{if(a)return a}),enabled:r,refetchOnWindowFocus:false})},ke=Mn;var Rn=({data:e,queryKey:t,enabled:r,service:o,xNode:s})=>{let{getThreadMessages:n}=F();return useQuery({queryKey:t,queryFn:()=>n({data:e,service:o,xNode:s}).then(a=>{if(a)return a}),enabled:r,refetchOnWindowFocus:false})},je=Rn;var Nn=({data:e,queryKey:t,enabled:r,service:o,xNode:s})=>{let{getExternalTab:n}=F();return useQuery({queryKey:t,queryFn:()=>n({method:e?.method,context:e?.context,service:o,xNode:s}).then(a=>{if(a)return a}),enabled:r,refetchOnWindowFocus:false})},Ie=Nn;var kn=()=>{let{deleteApi:e}=E();return useMutation({mutationFn:({ids:t,model:r,service:o})=>e({ids:t,model:r,service:o})})},He=kn;var In=({data:e,queryKey:t,viewResponse:r})=>{let{getAll:o}=E();return useQuery({queryKey:t,queryFn:()=>o({data:e}).then(s=>{if(s)return s}),enabled:!!e.specification&&!!e.model&&!!e.domain&&!!r,refetchOnWindowFocus:false})},Ve=In;var Vn=()=>{let{getConversionRate:e}=E();return useQuery({queryKey:["currency-rate"],queryFn:()=>e().then(t=>{if(t)return t}),enabled:true})},Be=Vn;var Xn=()=>{let{getCurrency:e}=E();return useQuery({queryKey:["currency"],queryFn:()=>e().then(t=>{if(t)return t}),enabled:true})},Xe=Xn;var Qn=()=>{let{getDetail:e}=E();return useMutation({mutationFn:({model:t,ids:r,specification:o,context:s,service:n,xNode:a})=>e({model:t,ids:r,specification:o,context:s,service:n,xNode:a})})},We=Qn;var $n=({model:e,service:t,xNode:r,enabled:o})=>{let{getListFieldsOnchange:s}=E();return useQuery({queryKey:[`field-onchange-${e}`,e],queryFn:()=>s({model:e,service:t,xNode:r}).then(n=>{if(n)return n}),refetchOnWindowFocus:false,enabled:o,staleTime:1/0})},Qe=$n;var Jn=({domain:e,spectification:t,model:r})=>{let{getListMyBankAccount:o}=E();return useQuery({queryKey:["bank-account",r,e],queryFn:()=>o({domain:e,spectification:t,model:r}).then(s=>{if(s)return s}),enabled:true})},Ke=Jn;var Zn=()=>({initModel:useCallback(t=>{switch(t?.name){default:return new a$2(t)}},[])}),$e=Zn;var ea=()=>{let{toDataJS:e,parseORMOdoo:t}=E();return {toDataJS:e,parseORM:t}},ze=ea;var oa=()=>{let{onChange:e}=E();return useMutation({mutationFn:({ids:t,model:r,specification:o,context:s,object:n,fieldChange:a,service:u,xNode:m})=>e({ids:t,model:r,specification:o,context:s,object:n,fieldChange:a,service:u,xNode:m})})},Je=oa;var sa=()=>{let{save:e}=E();return useMutation({mutationFn:({ids:t,model:r,data:o,specification:s,context:n,path:a,service:u,xNode:m})=>e({ids:t,model:r,data:o,specification:s,context:n,path:a,service:u,xNode:m})})},Ye=sa;var aa=(e,t,r)=>{let{getProfile:o}=W();return useMutation({mutationFn:()=>o(e,t,r)})},Ze=aa;var ua=()=>{let{getUser:e}=W();return useMutation({mutationFn:({id:t,context:r})=>e({id:t,context:r})})},et=ua;var ca=()=>{let{switchUserLocale:e}=W();return useMutation({mutationFn:({data:t,service:r})=>e({id:t.data.id,values:t.data.values,service:r})})},tt=ca;var da=()=>{let{callButton:e}=R();return useMutation({mutationFn:({model:t,ids:r,context:o,method:s,service:n,xNode:a})=>e({model:t,ids:r,context:o,method:s,service:n,xNode:a}),onSuccess:t=>t})},ot=da;var fa=()=>{let{duplicateRecord:e}=R();return useMutation({mutationFn:({id:t,model:r,context:o,service:s,xNode:n})=>e({id:t,model:r,context:o,service:s,xNode:n})})},rt=fa;var ga=({aid:e,context:t,enabled:r,id:o,model:s,queryKey:n})=>{let {getActionDetail:a}=_();return useQuery({queryKey:n,queryFn:async()=>{if(e){let m=await a(e,t);if(m&&m.length>0)return m[0]}},enabled:r,refetchOnWindowFocus:false,staleTime:1/0})},st=ga;var Ca=(e,t,r)=>{let{getListCalendar:o}=E();return useQuery({queryKey:t,queryFn:()=>o({data:e}).then(s=>s||[]),enabled:r,refetchOnWindowFocus:false,staleTime:0})},nt=Ca;var _a=({model:e,width_context:t})=>{let{getGroups:r}=z();return useQuery({queryKey:[e,t],queryFn:()=>r({model:e,width_context:t}).then(o=>o||[]),refetchOnWindowFocus:false})},at=_a;var va=(e,t,r,o,s,n)=>{let{getAll:a}=E();return useQuery({queryKey:t,queryFn:()=>a({data:e,service:o,xNode:s,searchParams:n}).then(u=>u||[]),enabled:r,refetchOnWindowFocus:false,staleTime:0})},it=va;var Ta=(e,t,r,o,s)=>{let{getMenu:n}=_();return useQuery({queryKey:["menus",e],queryFn:()=>n(e,t,o,s).then(a=>a&&a?.records&&a?.records?.length>0?a?.records:[]),refetchOnWindowFocus:false,staleTime:1/0,enabled:r})},ut=Ta;var Aa=()=>{let{getPrintReportName:e}=R();return useMutation({mutationFn:({id:t})=>e({id:t})})},pt=Aa;var Ea=({field:e,color:t,model:r,width_context:o})=>{let{getProgressBar:s}=z();return useQuery({queryKey:[],queryFn:()=>s({field:e,color:t,model:r,width_context:o}).then(n=>n||[]),refetchOnWindowFocus:false})},ct=Ea;var Da=({data:e,queryKey:t,enabled:r,service:o,xNode:s})=>{let{getSelectionItem:n}=_();return useQuery({queryKey:t,queryFn:()=>n({data:e,service:o,xNode:s}),enabled:r,refetchOnWindowFocus:false})},mt=Da;var La=({viewParams:e,enabled:t})=>{let{getView:r}=_();return useQuery({queryKey:["get_view_by_action",e?.model,e?.context,e?.aid,...e?.views??[]],queryFn:()=>r(e),enabled:!!t,refetchOnWindowFocus:false,staleTime:1/0})},dt=La;var Oa=()=>{let{loadAction:e}=R();return useMutation({mutationFn:({idAction:t,context:r,service:o,xNode:s,searchParams:n})=>e({idAction:t,context:r,service:o,xNode:s,searchParams:n})})},lt=Oa;var qa=()=>{let{loadMessages:e}=_();return useQuery({queryKey:["load-message-failure"],queryFn:()=>e(),refetchOnWindowFocus:false})},ft=qa;var Ua=()=>{let{print:e}=R();return useMutation({mutationFn:({id:t,report:r,db:o})=>e({id:t,report:r,db:o})})},yt=Ua;var ja=()=>{let{removeRows:e}=R();return useMutation({mutationFn:({model:t,ids:r,context:o,service:s,xNode:n})=>e({model:t,ids:r,context:o,service:s,xNode:n})})},gt=ja;var Ha=()=>{let{getResequence:e}=_();return useMutation({mutationFn:({model:t,resIds:r,context:o,offset:s,xNode:n,service:a})=>e({model:t,ids:r,context:o,offset:s,xNode:n,service:a})})},St=Ha;var Ba=()=>{let{runAction:e}=R();return useMutation({mutationFn:({idAction:t,context:r,service:o,xNode:s,searchParams:n})=>e({idAction:t,context:r,service:o,xNode:s,searchParams:n})})},Ct=Ba;var Wa=()=>{let{signInSSO:e}=_();return useMutation({mutationFn:({redirect_uri:t,state:r,client_id:o,response_type:s,path:n,scope:a})=>e({redirect_uri:t,state:r,client_id:o,response_type:s,path:n,scope:a})})},ht=Wa;var Ka=()=>{let{verify2FA:e}=_();return useMutation({mutationFn:({method:t,with_context:r,code:o,device:s,location:n})=>e({method:t,with_context:r,code:o,device:s,location:n})})},_t=Ka;var za=()=>{let{get2FAMethods:e}=_();return useMutation({mutationFn:({method:t,with_context:r})=>e({method:t,with_context:r})})},xt=za;var Ya=()=>{let{grantAccess:e}=_();return useMutation({mutationFn:({redirect_uri:t,state:r,client_id:o,scopes:s})=>e({redirect_uri:t,state:r,client_id:o,scopes:s})})},vt=Ya;var ei=()=>{let{removeTotpSetUp:e}=_();return useMutation({mutationFn:({method:t,token:r})=>e({method:t,token:r})})},bt=ei;var oi=()=>{let{requestSetupTotp:e}=_();return useMutation({mutationFn:({method:t,token:r})=>e({method:t,token:r})})},Tt=oi;var si=()=>{let{settingsWebRead2fa:e}=_();return useMutation({mutationFn:({method:t,token:r,kwargs:o,model:s})=>e({method:t,model:s,kwargs:o,token:r})})},Pt=si;var ai=()=>{let{verifyTotp:e}=_();return useMutation({mutationFn:({method:t,action_token:r,code:o})=>e({method:t,action_token:r,code:o})})},At=ai;var ui=()=>{let{generateSerialNumber:e}=R();return useMutation({mutationFn:({kwargs:t,context:r,service:o,xNode:s})=>e({kwargs:t,context:r,service:o,xNode:s})})},Gt=ui;var ci=({service:e,xNode:t,body:r,queryKey:o=[],enabled:s})=>{let{getNotifications:n}=_();return useQuery({queryKey:o,queryFn:()=>n({body:r,service:e,xNode:t}).then(a=>a),enabled:s,refetchOnWindowFocus:false})},Et=ci;var di=()=>{let{getVersion:e}=_();return useMutation({mutationFn:()=>e()})},wt=di;var fi=()=>{let{getWard:e}=_();return useMutation({mutationFn:({service:t,xNode:r,kwargs:o})=>e({service:t,xNode:r,kwargs:o})})},Dt=fi;var gi=()=>{let{getCity:e}=_();return useMutation({mutationFn:({service:t,xNode:r,ids:o,kwargs:s})=>e({service:t,xNode:r,ids:o,kwargs:s})})},Ft=gi;var Ci=()=>{let{getCountry:e}=_();return useMutation({mutationFn:({service:t,xNode:r,ids:o,kwargs:s})=>e({service:t,xNode:r,ids:o,kwargs:s})})},Lt=Ci;var _i=()=>{let{getPartnerTitle:e}=_();return useMutation({mutationFn:({service:t,xNode:r,kwargs:o,withContext:s})=>e({service:t,xNode:r,kwargs:o,withContext:s})})},Mt=_i;var vi=(e,t,r,o)=>{let{readGroup:s}=J();return useQuery({queryKey:[r],queryFn:()=>s({service:e,xNode:t,body:r}),refetchOnWindowFocus:false,enabled:o})},Ot=vi;var Ti=(e,t,r,o,s,n,a)=>{let{getDataChart:u}=J();return useQuery({queryKey:[a],queryFn:()=>u({service:e,xNode:t,body:r,path:s,method:n}),refetchOnWindowFocus:false,enabled:o})},Rt=Ti;var Ai=()=>{let{addEntity:e}=f();return useMutation({mutationFn:e})},qt=Ai;var Ei=()=>{let e=f();return useMutation({mutationFn:e.getASession})},Nt=Ei;var Di=()=>{let e=f();return useMutation({mutationFn:e.changeOrderPreparationState})},Ut=Di;var Li=()=>{let e=f();return useMutation({mutationFn:e.checkPayment})},kt=Li;var Oi=()=>{let e=f();return useMutation({mutationFn:e.createEInvoice})},jt=Oi;var qi=()=>{let e=f();return useMutation({mutationFn:e.createEntity})},It=qi;var Ui=()=>{let e=f();return useMutation({mutationFn:e.createPosConfig})},Ht=Ui;var ji=()=>{let e=f();return useMutation({mutationFn:e.createSession})},Vt=ji;var Hi=()=>{let e=f();return useMutation({mutationFn:e.deleteEntity})},Bt=Hi;var Bi=()=>{let e=f();return useMutation({mutationFn:e.generatePaymentQRInfo})},Xt=Bi;var Wi=()=>{let e=f();return useMutation({mutationFn:e.getCurrentUser})},Wt=Wi;var Ki=()=>{let e=f();return useMutation({mutationFn:e.getList})},Qt=Ki;var zi=()=>{let e=f();return useMutation({mutationFn:e.getOrderLine})},Kt=zi;var Yi=()=>{let e=f();return useMutation({mutationFn:e.getPinCode})},$t=Yi;var eu=()=>{let e=f();return useMutation({mutationFn:e.getPOS})},zt=eu;var ou=()=>{let e=f();return useMutation({mutationFn:e.getPreparationDisplayData})},Jt=ou;var su=()=>{let e=f();return useMutation({mutationFn:e.getProductImage})},Yt=su;var au=()=>{let e=f();return useMutation({mutationFn:e.handleCloseSession})},Zt=au;var uu=()=>{let e=f();return useMutation({mutationFn:e.handleClosingDetailSession})},eo=uu;var cu=()=>{let e=f();return useMutation({mutationFn:e.handleClosingSession})},to=cu;var du=()=>{let e=f(),{env:t}=G();return useMutation({mutationFn:t.isSupaMode?e.loadDataPosSessionSupabase:e.loadDataPosSession})},oo=du;var fu=()=>{let e=f();return useMutation({mutationFn:e.manageOnChange})},ro=fu;var gu=()=>{let e=f();return useMutation({mutationFn:e.manageSession})},so=gu;var Cu=()=>{let e=f();return useMutation({mutationFn:e.processOrder})},no=Cu;var _u=()=>{let e=f();return useMutation({mutationFn:e.savePinCode})},ao=_u;var vu=()=>{let e=f();return useMutation({mutationFn:e.searchJournal})},io=vu;var Tu=()=>{let e=f();return useMutation({mutationFn:e.updateClosedSession})},uo=Tu;var Au=()=>{let e=f();return useMutation({mutationFn:e.updateEntity})},po=Au;var Eu=()=>{let e=f();return useMutation({mutationFn:e.updateOrderStatus})},co=Eu;var Du=()=>{let e=f();return useMutation({mutationFn:e.completeCurrentStage})},mo=Du;var To=()=>{let e=L();return {createOrderSupabase:useCallback(async r=>{if(!e)return console.error("Supabase client not initialized"),null;try{let{data:o,error:s}=await e.from("orders").insert({name:r.pos_reference,date_order:new Date().toISOString(),session_id:r.session_id,pos_reference:r.pos_reference,amount_tax:r.amount_tax,amount_total:r.amount_total,amount_paid:r.amount_paid,amount_return:r.amount_return,table_id:r.table_id,partner_id:r.partner_id}).select("id, pos_reference").single();return s?(console.error("Error creating order:",s),null):[[o.id,o.pos_reference]]}catch(o){return console.error("Error creating order:",o),null}},[e])}};var Mu=()=>{let{addFloorSupabase:e}=Z();return useMutation({mutationFn:e})},lo=Mu;var Ru=()=>{let{addTableSupabase:e}=ee();return useMutation({mutationFn:e})},fo=Ru;var Nu=()=>{let{updateFloorSupabase:e}=te();return useMutation({mutationFn:e})},yo=Nu;var ku=()=>{let{updateTableSupabase:e}=oe();return useMutation({mutationFn:e})},go=ku;var Iu=()=>{let{deleteFloorSupabase:e}=re();return useMutation({mutationFn:e})},So=Iu;var Vu=()=>{let{deleteTableSupabase:e}=se();return useMutation({mutationFn:e})},Co=Vu;var Xu=()=>{let{createOrderSupabase:e}=To();return useMutation({mutationFn:e})},ho=Xu;var hr=createContext(null),_r=({children:e})=>{let t={useForgotPassword:ie,useForgotPasswordSSO:ue,useGetProvider:pe,useIsValidToken:ce,useLoginCredential:me,useLoginSocial:de,useResetPassword:fe,useResetPasswordSSO:ye,useUpdatePassword:ge,useLogout:Se,useGetAccessByCode:Ce,useValidateActionToken:he,useGetCompanyInfo:ve,useGetCurrentCompany:be,useGetListCompany:Te,useExecuteImport:Fe,useExportExcel:Pe,useGetFieldExport:Ae,useGetFileExcel:Ge,useParsePreview:Ee,useUploadFileExcel:we,useUploadIdFile:De,useChangeStatus:Le,useDeleteComment:Me,useGetComment:Oe,useGetFormView:Re,useSendComment:qe,useUploadImage:Ne,useDelete:He,useGetAll:Ve,useGetConversionRate:Be,useGetCurrency:Xe,useGetDetail:We,useGetFieldOnChange:Qe,useGetListMyBankAccount:Ke,useModel:$e,useOdooDataTransform:ze,useOnChangeForm:Je,useSave:Ye,useGetProfile:Ze,useGetUser:et,useSwitchLocale:tt,useButton:ot,useDuplicateRecord:rt,useGet2FAMethods:xt,useGetActionDetail:st,useGetCalendar:nt,useGetGroups:at,useGetListData:it,useGetMenu:ut,useGetPrintReport:pt,useGetProGressBar:ct,useGetResequence:St,useGetSelection:mt,useGetView:dt,useLoadAction:lt,useLoadMessage:ft,usePrint:yt,useRemoveRow:gt,useRunAction:Ct,useSignInSSO:ht,useVerify2FA:_t,useGrantAccess:vt,useRemoveTotpSetup:bt,useRequestSetupTotp:Tt,useSettingsWebRead2fa:Pt,useVerifyTotp:At,useUploadFile:Ue,useCreateEntity:It,useGetASession:Nt,useCreateSession:Vt,useDeleteEntity:Bt,useGetList:Qt,useGetPos:zt,useHandleClosingSession:to,useManageSession:so,useUpdateClosedSession:uo,useUpdateEntity:po,useLoadDataPosSession:oo,useManageOnChange:ro,useGenSerialNumber:Gt,useGetOrderLine:Kt,useGetProductImage:Yt,useAddEntity:qt,useCheckPayment:kt,useHandleCloseSession:Zt,useHandleClosingDetailSession:eo,useCreatePosConfig:Ht,useSearchJournal:io,useGetTenantMapping:_e,useGetToken:xe,useGetPreparationDisplayData:Jt,useChangeOrderPreparationState:Ut,useUpdateOrderStatus:co,useGetThreadData:ke,useGetThreadMessages:je,useGetExternalTabs:Ie,useProcessOrder:no,useGeneratePaymentQrInfo:Xt,useSavePinCode:ao,useGetPinCode:$t,useReadGroup:Ot,useGetNotifications:Et,useGetDataChart:Rt,useGetVersion:wt,useCreateEInvoice:jt,useGetCurrentUser:Wt,useGetCity:Ft,useGetWard:Dt,useGetCountry:Lt,useGetPartnerTitle:Mt,useCompleteCurrentStage:mo,useLoginSupa:le,useAddFloor:lo,useAddTable:fo,useDeleteFloor:So,useDeleteTable:Co,useUpdateFloor:yo,useUpdateTable:go,useCreateOrder:ho};return jsx(hr.Provider,{value:t,children:e})},xr=()=>{let e=useContext(hr);if(!e)throw new Error("useService must be used within a ServiceProvider");return e};var vr=({children:e})=>{let{env:t}=G();function r(){let o=t?.defaultCompany;if(!o)return;o.display_name&&(document.title=o.display_name),document.documentElement.style.setProperty("--primary",o?.primary_color),document.documentElement.style.setProperty("--secondary",o?.secondary_color);let s=document.querySelector('meta[name="description"]');if(s)s.setAttribute("content",o.display_name);else {let a=document.createElement("meta");a.name="description",a.content=o.display_name,document.head.appendChild(a);}let n=(a,u)=>{let m=document.querySelector(`link[rel="${a}"]`);m?m.href=u:(m=document.createElement("link"),m.rel=a,m.href=u,document.head.appendChild(m));};if(o.logo){n("icon",o.logo),n("apple-touch-icon",o.logo);let a=document.querySelector('link[href="favicon.ico"]');a&&a.remove();}}return useEffect(()=>{r();},[t?.defaultCompany]),jsx(Fragment,{children:e})};export{je as $,jt as $a,le as A,lt as Aa,fo as Ab,fe as B,ft as Ba,yo as Bb,ye as C,yt as Ca,go as Cb,ge as D,gt as Da,So as Db,Se as E,St as Ea,Co as Eb,Ce as F,Ct as Fa,ho as Fb,he as G,ht as Ga,_e as H,_t as Ha,xe as I,xt as Ia,ve as J,vt as Ja,be as K,bt as Ka,Te as L,Tt as La,Pe as M,Pt as Ma,Ae as N,At as Na,Ge as O,Gt as Oa,Ee as P,Et as Pa,we as Q,wt as Qa,De as R,Dt as Ra,Fe as S,Ft as Sa,Le as T,Lt as Ta,Me as U,Mt as Ua,Oe as V,Ot as Va,Re as W,Rt as Wa,qe as X,qt as Xa,Ne as Y,Nt as Ya,Ue as Z,Ut as Za,ke as _,kt as _a,ae as a,Ie as aa,It as ab,Lo as b,He as ba,Ht as bb,Oo as c,Ve as ca,Vt as cb,G as d,Be as da,Bt as db,_r as e,Xe as ea,Xt as eb,xr as f,We as fa,Wt as fb,vr as g,Qe as ga,Qt as gb,qo as h,Ke as ha,Kt as hb,No as i,$e as ia,$t as ib,R as j,ze as ja,zt as jb,A as k,Je as ka,Jt as kb,$ as l,Ye as la,Yt as lb,N as m,Ze as ma,Zt as mb,F as n,et as na,eo as nb,z as o,tt as oa,to as ob,E as p,ot as pa,oo as pb,W as q,rt as qa,ro as qb,_ as r,st as ra,so as rb,J as s,nt as sa,no as sb,f as t,at as ta,ao as tb,ie as u,it as ua,io as ub,ue as v,ut as va,uo as vb,pe as w,pt as wa,po as wb,ce as x,ct as xa,co as xb,me as y,mt as ya,mo as yb,de as z,dt as za,lo as zb};
@@ -0,0 +1,2 @@
1
+ import {a,b,p}from'./chunk-Y65DQP66.mjs';import w from'axios';function P(s,l){return s.split(",").map(u=>u.trim()).filter(u=>!l?.some(_=>u?.startsWith(_))).join(",")}var B={init(s){let l=s?.localStorageUtils??a(),u=s?.sessionStorageUtils??b,_=s?.db,b$1=s?.config?.database,T=false,U=[],R=(e,n=null)=>{U?.forEach(t=>{e?t.reject(e):t.resolve(n);}),U=[];},d=w.create({adapter:w.defaults.adapter,baseURL:s?.baseUrl,timeout:5e4,paramsSerializer:e=>new URLSearchParams(e).toString()});d.interceptors.request.use(async e=>{let n=navigator.languages?.join(",")||navigator.language,t=e.headers["X-Use-Refresh-Token"]==="true",r=e.headers["X-Use-Action-Token"]==="true",c=e.headers["X-Action-Token"],E=P(n,s?.excludeLanguages),a=null;return r&&c?a=c:a=await(t?l.getRefreshToken:l.getAccessToken)?.(),a&&(e.headers.Authorization=`Bearer ${a}`),b$1&&(e.headers.DATABASE=b$1),e.headers["Accept-Language"]=E,e},Promise.reject);let I=()=>{if(!s.refreshTokenEndpoint)return `${g(s?.baseUrl)}/authentication/oauth2/token`;let e=String(s.refreshTokenEndpoint);if(/^https?:\/\//i.test(e))return e;let n=String(s?.baseUrl||"").replace(/\/$/,""),t=e.startsWith("/")?e:`/${e}`;return `${n}${t}`};d.interceptors.response.use(e=>N(e),async e=>{let n=async r=>{if(!r.response)return r;let{data:c}=r.response;return c&&c.code===400&&["invalid_grant"].includes(c.data?.error)&&await p$1(),c},t=e.config;if((e.response?.status===403||e.response?.status===401||e.response?.status===404)&&["TOKEN_EXPIRED","AUTHEN_FAIL",401,"ERR_2FA_006"].includes(e.response.data.code)){if(T)return new Promise(function(a,f){U.push({resolve:a,reject:f});}).then(a=>(t.headers.Authorization="Bearer "+a,t.data=p(t,a),d.request(t))).catch(async a=>{(a.response?.status===400||a.response?.status===401)&&["invalid_grant"].includes(a.response.data.error)&&await p$1();});let r=await u.getBrowserSession(),c=await l.getRefreshToken(),E=await l.getAccessToken();if(T=true,!c&&(!r||r=="unActive"))await p$1();else {let a=Object.fromEntries(Object.entries({refresh_token:c,grant_type:"refresh_token",client_id:s.config.clientId,client_secret:s.config.clientSecret}).filter(([i,o])=>!!o)),f=I();return new Promise(function(i){w.post(f,a,{headers:{"Content-Type":s.refreshTokenEndpoint?"application/x-www-form-urlencoded":"multipart/form-data",Authorization:`Bearer ${E}`}}).then(async o=>{let h=o.data;await l.setToken(h.access_token),await l.setRefreshToken(h.refresh_token),w.defaults.headers.common.Authorization="Bearer "+h.access_token,t.headers.Authorization="Bearer "+h.access_token,t.data=p(t,h.access_token),R(null,h.access_token),i(d.request(t));}).catch(async o=>{if(o&&(o?.error_code==="AUTHEN_FAIL"||o?.error_code==="TOKEN_EXPIRED"||o?.error_code==="TOKEN_INCORRECT"||o?.code==="ERR_2FA_006")&&await p$1(),o&&o.response){let{error_code:h}=o.response?.data||{},{code:O}=o;(h==="AUTHEN_FAIL"||O==="ERR_2FA_006")&&await p$1();}R(o,null);}).finally(()=>{T=false;});})}}return Promise.reject(await n(e))}),d.interceptors.response.use(e=>N(e),async e=>{let n=async r=>{if(!r.response)return r;let{data:c}=r.response;return c&&c.code===400&&["invalid_grant"].includes(c.data?.error)&&await p$1(),c},t=e.config;if((e.response?.status===403||e.response?.status===401||e.response?.status===404)&&["TOKEN_EXPIRED","AUTHEN_FAIL",401,"ERR_2FA_006"].includes(e.response.data.code)){if(T)return new Promise(function(a,f){U.push({resolve:a,reject:f});}).then(a=>(t.headers.Authorization="Bearer "+a,t.data=p(t,a),d.request(t))).catch(async a=>{(a.response?.status===400||a.response?.status===401)&&["invalid_grant"].includes(a.response.data.error)&&await p$1();});let r=await u.getBrowserSession(),c=await l.getRefreshToken(),E=await l.getAccessToken();if(T=true,!c&&(!r||r=="unActive"))await p$1();else {let a=Object.fromEntries(Object.entries({refresh_token:c,grant_type:"refresh_token",client_id:s.config.clientId,client_secret:s.config.clientSecret}).filter(([f,i])=>!!i));return new Promise(function(f){w.post(`${s?.baseUrl}${s.refreshTokenEndpoint??"/authentication/oauth2/token"}`,a,{headers:{"Content-Type":s.refreshTokenEndpoint?"application/x-www-form-urlencoded":"multipart/form-data",Authorization:`Bearer ${E}`}}).then(async i=>{let o=i.data;await l.setToken(o.access_token),await l.setRefreshToken(o.refresh_token),w.defaults.headers.common.Authorization="Bearer "+o.access_token,t.headers.Authorization="Bearer "+o.access_token,t.data=p(t,o.access_token),R(null,o.access_token),f(d.request(t));}).catch(async i=>{if(console.log("catch error: ",i),i&&(i?.error_code==="AUTHEN_FAIL"||i?.error_code==="TOKEN_EXPIRED"||i?.error_code==="TOKEN_INCORRECT"||i?.code==="ERR_2FA_006")&&await p$1(),i&&i.response){console.log("err response code: ",i),console.log("err response: ",i.response);let{error_code:o}=i.response?.data||{},{code:h}=i;(o==="AUTHEN_FAIL"||h==="ERR_2FA_006")&&await p$1();}R(i,null);}).finally(()=>{T=false;});})}}return Promise.reject(await n(e))});let N=e=>e&&e.data?e.data:e,p$1=async()=>{await l.clearToken(),typeof window<"u"&&(window.location.href="/login");};function y(e,n){return e+(n?"?db="+n:"")}let g=(e,n)=>`${e.replace(/\/$/,"")}/${n||u.getMenuFocus().service||s?.default_service}/api/v2`,A=e=>({headers:{...e.headers,...u.getXNode()?{"X-Node":u.getXNode()}:{}}}),k=e=>e;return {get:(e,n,t)=>d.get(y(g(s?.baseUrl,t)+e,_),A(n)).then(k),post:async(e,n,t,r)=>d.post(y(g(s?.baseUrl,r)+e,_),n,A(t)).then(k),post_excel:(e,n,t,r)=>d.post(y(g(s?.baseUrl,r)+e,_),n,{responseType:"arraybuffer",headers:{"Content-Type":typeof window<"u"?"application/json":"application/javascript",Accept:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",...t,...u.getXNode()?{"X-Node":u.getXNode()}:{}}}).then(k),put:(e,n,t,r)=>d.put(y(g(s?.baseUrl,r)+e,_),n,A(t)).then(k),patch:(e,n,t,r)=>d.patch(y(g(s?.baseUrl,r)+e,_),n,A(t)).then(k),delete:(e,n,t)=>d.delete(y(g(s?.baseUrl,t)+e,_),A(n)).then(k)}}};
2
+ export{B as a};
@@ -0,0 +1 @@
1
+ var T=(r=>(r.CHAR="char",r.TEXT="text",r.INTEGER="integer",r.FLOAT="float",r.BOOLEAN="boolean",r.DATE="date",r.DATETIME="datetime",r.BINARY="binary",r.SELECTION="selection",r.HTML="html",r.MANY2ONE="many2one",r.ONE2MANY="one2many",r.MANY2MANY="many2many",r.MONETARY="monetary",r.REFERENCE="reference",r.FUNCTION="function",r.PROPERTY="property",r))(T||{});var P=(R=>(R[R.CREATE=0]="CREATE",R[R.UPDATE=1]="UPDATE",R[R.DELETE=2]="DELETE",R[R.UNLINK=3]="UNLINK",R[R.NO_CHANGE=4]="NO_CHANGE",R))(P||{});var N=(O=>(O.MENU="ir.ui.menu",O.USER="res.users",O.COMPANY="res.company",O.WINDOW_ACTION="ir.actions.act_window",O.BASE_IMPORT="base_import.import",O.GET_IMPORT="get_import_templates",O.POS_PREPARATION_DISPLAY="pos_preparation_display.display",O.POS_PREPARATION_ORDER="pos_preparation_display.order",O.POS_PREPARATION_ORDER_LINE="pos_preparation_display.orderline",O.POS_ORDER="pos.order",O.COUNTRY="res.country",O.COUNTRY_STATE="res.country.state",O.COUNTRY_WARD="res.country.ward",O.RES_PARTNER_TITLE="res.partner.title",O))(N||{}),u=(_=>(_.ACCOUNT_CASH_ROUNDING="account.cash.rounding",_.ACCOUNT_FISCAL_POSITION="account.fiscal.position",_.ACCOUNT_FISCAL_POSITION_TAX="account.fiscal.position.tax",_.ACCOUNT_TAX="account.tax",_.ACCOUNT_TAX_GROUP="account.tax.group",_.DECIMAL_PRECISION="decimal.precision",_.IR_MODULE_MODULE="ir.module.module",_.IR_UI_VIEW="ir.ui.view",_.POS_BILL="pos.bill",_.POS_CATEGORY="pos.category",_.POS_CONFIG="pos.config",_.POS_NOTE="pos.note",_.POS_ORDER="pos.order",_.POS_ORDER_LINE="pos.order.line",_.POS_PACK_OPERATION_LOT="pos.pack.operation.lot",_.POS_PAYMENT="pos.payment",_.POS_PAYMENT_METHOD="pos.payment.method",_.POS_PRINTER="pos.printer",_.POS_SESSION="pos.session",_.POS_PREPARATION_DISPLAY_DISPLAY="pos_preparation_display.display",_.PRODUCT_ATTRIBUTE="product.attribute",_.PRODUCT_ATTRIBUTE_CUSTOM_VALUE="product.attribute.custom.value",_.PRODUCT_CATEGORY="product.category",_.PRODUCT_COMBO="product.combo",_.PRODUCT_COMBO_ITEM="product.combo.item",_.PRODUCT_PACKAGING="product.packaging",_.PRODUCT_PRICELIST="product.pricelist",_.PRODUCT_PRICELIST_ITEM="product.pricelist.item",_.PRODUCT_PRODUCT="product.product",_.PRODUCT_TAG="product.tag",_.PRODUCT_TEMPLATE_ATTRIBUTE_LINE="product.template.attribute.line",_.PRODUCT_TEMPLATE_ATTRIBUTE_VALUE="product.template.attribute.value",_.RES_COMPANY="res.company",_.RES_COUNTRY="res.country",_.RES_COUNTRY_STATE="res.country.state",_.RES_CURRENCY="res.currency",_.RES_LANG="res.lang",_.RES_PARTNER="res.partner",_.RES_USERS="res.users",_.STOCK_PICKING_TYPE="stock.picking.type",_.UOM_CATEGORY="uom.category",_.UOM_UOM="uom.uom",_.LOYALTY_PROGRAM="loyalty.program",_.LOYALTY_RULE="loyalty.rule",_.LOYALTY_REWARD="loyalty.reward",_.RESTAURANT_TABLE="restaurant.table",_.RESTAURANT_FLOOR="restaurant.floor",_.POS_MAKE_PAYMENT="pos.make.payment",_))(u||{}),t=(r=>(r.ACCOUNT_TAXES="account_taxes",r.COMPANIES="companies",r.CUSTOMERS="customers",r.EMPLOYEES="employees",r.LOYALTY_PROGRAMS="loyalty_programs",r.LOYALTY_REWARDS="loyalty_rewards",r.LOYALTY_RULES="loyalty_rules",r.ORDER_LINE="order_line",r.ORDERS="orders",r.PAYMENT_METHODS="payment_methods",r.PAYMENTS="payments",r.POS_CONFIGS="pos_configs",r.POS_SESSIONS="pos_sessions",r.POS_CATEGORIES="pos_categories",r.PRODUCTS="products",r.RESTAURANT_FLOORS="restaurant_floors",r.RESTAURANT_TABLES="restaurant_tables",r))(t||{}),I={"account.tax":"account_taxes","res.company":"companies","res.partner":"customers","res.users":"employees","loyalty.program":"loyalty_programs","loyalty.rule":"loyalty_rules","loyalty.reward":"loyalty_rewards","pos.config":"pos_configs","pos.session":"pos_sessions","pos.order.line":"order_line","pos.order":"orders","pos.payment.method":"payment_methods","pos.payment":"payments","pos.category":"pos_categories","product.product":"products","restaurant.floor":"restaurant_floors","restaurant.table":"restaurant_tables"};var m=(E=>(E.GROUP="group",E.FIELD="field",E.TREE="tree",E.DIV="div",E.LIST="list",E.FORM="form",E.SETTINGS="setting",E.SPAN="span",E.KANBAN="kanban",E.CALENDAR="calendar",E.TYPE="view-type",E))(m||{}),i={FILTER:"filter_by",SEARCH:"search_by",GROUP:"group_by"};var s=(A=>(A.many2one_avatar_user="many2one_avatar_user",A.many2many_avatar_user="many2many_avatar_user",A))(s||{}),p=(A=>(A.many2one_avatar_user="many2one_avatar_user",A.many2many_avatar_user="many2many_avatar_user",A))(p||{});var c=(A=>(A.many2many_tags="many2many_tags",A.helpdesk_sla_many2many_tags="helpdesk_sla_many2many_tags",A))(c||{});var e=(S=>(S.sla_status_ids="sla_status_ids",S))(e||{}),U=(S=>(S.sla_status_ids="sla_status_ids",S))(U||{});export{T as a,P as b,N as c,u as d,t as e,I as f,m as g,i as h,s as i,p as j,c as k,e as l,U as m};
@@ -0,0 +1 @@
1
+ 'use strict';var A=(e=>(e.PROFILE="userinfo",e.CURRENT_COMPANY="current_company",e.LIST_COMPANY="list_company",e.COMPANY_INFO="company_info",e.MENU="menus",e.GET_VIEW_BY_ACTION="get_view_by_action",e.ACTION_DETAIL="action_detail",e.GET_DATA_SELECTION="get_data_select",e.WEB_SAVE="web_save",e.WEB_READ="web_read",e.GET_PROVIDER="get_provider",e))(A||{});var T=(E=>(E.WEB_SEARCH_READ="web_search_read",E.WEB_READ_GROUP="web_read_group",E.WEB_READ="web_read",E.WEB_SAVE="web_save",E.UNLINK="unlink",E.ONCHANGE="onchange",E.GET_ONCHANGE_FIELDS="get_fields_onchange",E.GET_FIELD_VIEW="get_fields_view_v2",E.CREATE="create",E.LOAD_DATA="load_data",E.CHECK="check",E.GET_CLOSING_CONTROL_DATA="get_closing_control_data",E.GET_PREPARATION_DISPLAY_DATA="get_preparation_display_data",E.CHANGE_ORDER_STAGE="change_order_stage",E.PROCESS_ORDER="process_order",E.CREATE_E_INVOICE="create_e_invoice",E.GET_DATA_SELECT="get_data_select",E.COMPLETE_CURRENT_STAGE="complete_current_stage",E))(T||{});var O=(_=>(_.AUTH_TOKEN_PATH="/authentication/oauth2/token",_.GENTOKEN_SOCIAL="/token/generate",_.CALL_PATH="/call",_.COMPANY_PATH="/company",_.PROFILE_PATH="/userinfo",_.RESET_PASSWORD_PATH="/reset_password",_.CHANGE_PASSWORD_PATH="/change_password",_.UPDATE_PASSWORD_PATH="/change_password_parent",_.LOAD_ACTION="/load_action",_.REPORT_PATH="/report",_.RUN_ACTION_PATH="/run_action",_.UPLOAD_FILE_EXCEL_PATH="/upload/file",_.UPLOAD_FILE_PATH="/file/upload",_.GET_MESSAGE="/chatter/thread/messages",_.GET_THREAD_DATA="/mail/thread/data",_.GET_THREAD_MESSAGES="/mail/thread/messages",_.SENT_MESSAGE="/chatter/message/post",_.UPLOAD_IMAGE="/mail/attachment/upload",_.DELETE_MESSAGE="/chatter/message/update_content",_.IMAGE_PATH="/web/image",_.LOAD_MESSAGE="/load_message_failures",_.TOKEN="/check_token",_.VALIDATE_ACTION_TOKEN="/action-token/validate",_.CREATE_UPDATE_PATH="/create_update",_.TWOFA_METHOD_PATH="/id/api/v2/call",_.SIGNIN_SSO="/signin-sso/oauth",_.GRANT_ACCESS="/grant-access",_.TOKEN_BY_CODE="/token",_.LOGOUT="/logout",_.CREATE_UPDATE="/create_update",_.SEARCH_READ="/search_read",_.CREATE_PATH="/create",_.TENANT_MAPPING="/tenant-mapping",_.EMENU_AUTH_TOKEN="/emenu/auth/token",_.POS_ORDER_STATUS="/pos-order/status",_.PAYMENT_QR="/payment/qr",_.POS_DEVICE_PIN="/pos_device/pin",_.GET_PIN_CODE="/pos_device/get_pin_code",_.READ_GROUP="/read_group",_.GET_NOTIFICATION="/mail/data",_.PUBLIC_USER_INFO="/public/user/info",_))(O||{});exports.a=A;exports.b=T;exports.c=O;
@@ -0,0 +1,5 @@
1
+ 'use strict';var Ae=()=>({setToken:async a=>{localStorage.setItem("accessToken",a);},setRefreshToken:async a=>{localStorage.setItem("refreshToken",a);},getAccessToken:async()=>localStorage.getItem("accessToken"),getRefreshToken:async()=>localStorage.getItem("refreshToken"),clearToken:async()=>{localStorage.removeItem("accessToken"),localStorage.removeItem("refreshToken");}});var Te={getMenuFocus:()=>{let c=sessionStorage.getItem("menuFocus");return c?JSON.parse(c):{id:void 0,service:""}},setMenuFocus:c=>{sessionStorage.setItem("menuFocus",JSON.stringify({...c}));},setActionData:c=>{sessionStorage.setItem("actionData",JSON.stringify(c));},getActionData:()=>{let c=sessionStorage.getItem("actionData");return c?JSON.parse(c):{}},getViewData:()=>{let c=sessionStorage.getItem("viewData");return c?JSON.parse(c):{}},setViewData:c=>{sessionStorage.setItem("viewData",JSON.stringify(c));},getBrowserSession:()=>{let c=sessionStorage.getItem("browserSession");return c?JSON.parse(c):null},getXNode:()=>sessionStorage.getItem("xNode"),setXNode:c=>{sessionStorage.setItem("xNode",c);}};var C=class extends Error{},be={"\\":"\\",'"':'"',"'":"'",a:"\x07",b:"\b",f:"\f",n:`
2
+ `,r:"\r",t:" ",v:"\v"};function Ye(t,e){let n=[],r;for(let u=0;u<t.length;++u){if(t[u]!=="\\"){n.push(t[u]);continue}let a=t[u+1];if(a in be){n.push(be[a]),++u;continue}switch(a){case `
3
+ `:++u;continue;case "N":if(!e)break;throw new C("SyntaxError: \\N{} escape not implemented");case "u":if(!e)break;let s=t.slice(u+2,u+6);if(!/[0-9a-f]{4}/i.test(s))throw new C(["SyntaxError: (unicode error) 'unicodeescape' codec"," can't decode bytes in position ",u,"-",u+4,": truncated \\uXXXX escape"].join(""));r=parseInt(s,16),n.push(String.fromCharCode(r)),u+=5;continue;case "U":if(!e)break;throw new C("SyntaxError: \\U escape not implemented");case "x":let o=t.slice(u+2,u+4);if(!/[0-9a-f]{2}/i.test(o))throw e?new C(["SyntaxError: (unicode error) 'unicodeescape'"," codec can't decode bytes in position ",u,"-",u+2,": truncated \\xXX escape"].join("")):new C("ValueError: invalid \\x escape");r=parseInt(o,16),n.push(String.fromCharCode(r)),u+=3;continue;default:if(!/[0-8]/.test(a))break;let i=/[0-8]{1,3}/g;i.lastIndex=u+1;let c=i.exec(t);if(!c)break;let l=c[0];r=parseInt(l,8),n.push(String.fromCharCode(r)),u+=l.length;continue}n.push("\\");}return n.join("")}var ze=new Set(["None","False","True"]),J=["in","not","not in","is","is not","<","<=",">",">=","<>","!=","=="],ee=["or","and","|","^","&","<<",">>","+","-","*","/","//","%","~","**","."],Je=["-"],Ve=new Set(["(",")","[","]","{","}",":",",","if","else","lambda","=",...J,...ee,...Je]);function R(...t){return "("+t.join("|")+")"}var Se="[a-zA-Z_]\\w*",we="[ \\f\\t]*",Ke="\\d+(L|l)?",He=Ke,_="[eE][+-]?\\d+",Ze=R(`\\d+\\.\\d*(${_})?`,`\\.\\d+(${_})?`),qe=R(Ze,`\\d+${_}`),Fe=R(qe,He),Ge=R("\\*\\*=?",">>=?","<<=?","<>","!=","//=?","[+\\-*/%&|^=<>]=?","~"),Xe="[\\[\\]\\(\\)\\{\\}]",We="[:;.,`@]",Qe=R(Ge,Xe,We),xe=R("([uU])?'([^\\n'\\\\]*(?:\\\\.[^\\n'\\\\]*)*)'",'([uU])?"([^\\n"\\\\]*(?:\\\\.[^\\n"\\\\]*)*)"'),_e=we+R(Fe,Qe,xe,Se),et=new RegExp("^"+Fe+"$"),De=new RegExp("^"+xe+"$"),tt=new RegExp("^"+Se+"$"),nt=new RegExp("^"+we);function te(t){let e=[],n=t.length,r=0,u=0,a=new RegExp(_e,"g");for(;a.lastIndex<n;){let s=a.exec(t);if(!s){if(/^\s+$/.test(t.slice(u)))break;throw new C("Failed to tokenize <<"+t+">> at index "+(u||0)+"; parsed so far: "+e)}if(s.index>u&&t.slice(u,s.index).trim())throw new C("Invalid expression");r=s.index,u=a.lastIndex;let o=t.slice(r,u).replace(nt,"");if(et.test(o))e.push({type:0,value:parseFloat(o)});else if(De.test(o)){let i=De.exec(o);if(!i)throw new C("Invalid string match");e.push({type:1,value:Ye(i[3]!==void 0?i[3]:i[5],!!(i[2]||i[4]))});}else if(Ve.has(o))o==="in"&&e.length>0&&e[e.length-1].value==="not"?(o="not in",e.pop()):o==="not"&&e.length>0&&e[e.length-1].value==="is"&&(o="is not",e.pop()),e.push({type:2,value:o});else if(ze.has(o))e.push({type:4,value:o});else if(tt.test(o))e.push({type:3,value:o});else throw new C("Invalid expression")}return e}var d=class extends Error{},ve=new Set(J),rt=new Set([...ee,...J]);function V(t){switch(t){case "=":return 10;case "if":return 20;case "in":case "not in":case "is":case "is not":case "<":case "<=":case ">":case ">=":case "<>":case "==":case "!=":return 60;case "or":return 30;case "and":return 40;case "not":return 50;case "|":return 70;case "^":return 80;case "&":return 90;case "<<":case ">>":return 100;case "+":case "-":return 110;case "*":case "/":case "//":case "%":return 120;case "**":return 140;case ".":case "(":case "[":return 150;default:return 0}}function ne(t){return t.type===2?V(t.value):0}function g(t,e){return t.type===2&&t.value===e}function ut(t,e){switch(t.type){case 0:return {type:0,value:t.value};case 1:return {type:1,value:t.value};case 4:return t.value==="None"?{type:3}:{type:2,value:t.value==="True"};case 3:return {type:5,value:t.value};case 2:switch(t.value){case "-":case "+":case "~":return {type:6,op:t.value,right:b(e,130)};case "not":return {type:6,op:t.value,right:b(e,50)};case "(":let n=[],r=false;for(;e[0]&&!g(e[0],")");)if(n.push(b(e,0)),e[0]){if(e[0]&&g(e[0],","))r=true,e.shift();else if(!g(e[0],")"))throw new d("parsing error")}else throw new d("parsing error");if(!e[0]||!g(e[0],")"))throw new d("parsing error");return e.shift(),r=r||n.length===0,r?{type:10,value:n}:n[0];case "[":let u=[];for(;e[0]&&!g(e[0],"]");)if(u.push(b(e,0)),e[0]){if(g(e[0],","))e.shift();else if(!g(e[0],"]"))throw new d("parsing error")}if(!e[0]||!g(e[0],"]"))throw new d("parsing error");return e.shift(),{type:4,value:u};case "{":let a={};for(;e[0]&&!g(e[0],"}");){let s=b(e,0);if(s.type!==1&&s.type!==0||!e[0]||!g(e[0],":"))throw new d("parsing error");e.shift();let o=b(e,0);a[s.value]=o,g(e[0],",")&&e.shift();}if(!e.shift())throw new d("parsing error");return {type:11,value:a};default:throw new d("Token cannot be parsed")}default:throw new d("Token cannot be parsed")}}function ot(t,e,n){switch(e.type){case 2:if(rt.has(e.value)){let r=b(n,ne(e));if(e.value==="and"||e.value==="or")return {type:14,op:e.value,left:t,right:r};if(e.value==="."){if(r.type===5)return {type:15,obj:t,key:r.value};throw new d("invalid obj lookup")}let u={type:7,op:e.value,left:t,right:r};for(;ve.has(e.value)&&n[0]&&n[0].type===2&&ve.has(n[0].value);){let a=n.shift();u={type:14,op:"and",left:u,right:{type:7,op:a.value,left:r,right:b(n,ne(a))}},r=u.right;}return u}switch(e.value){case "(":let r=[],u={};for(;n[0]&&!g(n[0],")");){let i=b(n,0);i.type===9?u[i.name.value]=i.value:r.push(i),n[0]&&g(n[0],",")&&n.shift();}if(!n[0]||!g(n[0],")"))throw new d("parsing error");return n.shift(),{type:8,fn:t,args:r,kwargs:u};case "=":if(t.type===5)return {type:9,name:t,value:b(n,10)};break;case "[":let a=b(n);if(!n[0]||!g(n[0],"]"))throw new d("parsing error");return n.shift(),{type:12,target:t,key:a};case "if":let s=b(n);if(!n[0]||!g(n[0],"else"))throw new d("parsing error");n.shift();let o=b(n);return {type:13,condition:s,ifTrue:t,ifFalse:o};}}throw new d("Token cannot be parsed")}function b(t,e=0){let n=t.shift();if(!n)throw new d("Unexpected end of input");let r=ut(n,t);for(;t[0]&&ne(t[0])>e;)r=ot(r,t.shift(),t);return r}function re(t){if(t.length)return b(t,0);throw new d("Missing token")}function N(t,e){let n=t[t.length-1],r=typeof n=="object"?t.slice(0,-1):t,u=typeof n=="object"?n:{};for(let[a,s]of r.entries())u[e[a]]=s;return u}var se=class extends Error{},U=class extends Error{},P=class extends Error{};function S(t){return String(t).padStart(2,"0")}function ce(t){return String(t).padStart(4,"0")}function w(t,e,n){let r=t%e;return (r>0&&e<0||r<0&&e>0)&&(r+=e),n(Math.floor(t/e),r)}function ae(t,e="AssertionError"){if(!t)throw new se(e)}var K=[null,31,28,31,30,31,30,31,31,30,31,30,31],le=[null];for(let t=0,e=1;e<K.length;++e)le.push(t),t+=K[e];function ie(t,e){return e===2&&H(t)?29:K[e]}function H(t){return t%4===0&&(t%100!==0||t%400===0)}function Z(t){let e=t-1;return e*365+Math.floor(e/4)-Math.floor(e/100)+Math.floor(e/400)}function st(t,e){let n=e>2&&H(t);return le[e]+(n?1:0)}function Ce(t,e,n){let r=ie(t,e);if(!(1<=n&&n<=r))throw new U(`day must be in 1..${r}`);return Z(t)+st(t,e)+n}var at=Z(401),it=Z(101),ct=Z(5);function lt(t){--t;let e=0,n=0,r=0,u=0,a=0;w(t,at,(l,A)=>{e=l,w(A,it,(x,v)=>{n=x,w(v,ct,(L,f)=>{r=L,w(f,365,(m,T)=>{u=m,a=T;});});});}),t=a;let s=e*400+1+n*100+r*4+u;if(u===4||n===100)return ae(a===0),{year:s-1,month:12,day:31};let o=u===3&&(r!==24||n===3);ae(o===H(s));let i=t+50>>5,c=le[i]+(i>2&&o?1:0);return c>t&&(--i,c-=K[i]+(i===2&&o?1:0)),t-=c,{year:s,month:i,day:t+1}}function fe(t,e,n,r,u,a,s){r=r||0,u=u||0,a=a||0,s=s||0,(s<0||s>999999)&&w(s,1e6,(i,c)=>{s=c,a+=i;}),(a<0||a>59)&&w(a,60,(i,c)=>{a=c,u+=i;}),(u<0||u>59)&&w(u,60,(i,c)=>{u=c,r+=i;}),(r<0||r>23)&&w(r,24,(i,c)=>{r=c,n+=i;}),(e<1||e>12)&&w(e-1,12,(i,c)=>{e=c+1,t+=i;});let o=ie(t,e);if(n<1||n>o)if(n===0)--e,e>0?n=ie(t,e):(--t,e=12,n=31);else if(n===o+1)++e,n=1,e>12&&(e=1,++t);else {let i=lt(Ce(t,e,1)+(n-1));t=i.year,e=i.month,n=i.day;}return {year:t,month:e,day:n,hour:r,minute:u,second:a,microsecond:s}}var E=class t{constructor(e,n,r){this.year=e;this.month=n;this.day=r;}static today(){return this.convertDate(new Date)}static convertDate(e){let n=e.getFullYear(),r=e.getMonth()+1,u=e.getDate();return new t(n,r,u)}static create(...e){let{year:n,month:r,day:u}=N(e,["year","month","day"]);return new t(n,r,u)}add(e){let n=fe(this.year,this.month,this.day+e.days,0,0,0);return new t(n.year,n.month,n.day)}isEqual(e){return e instanceof t?this.year===e.year&&this.month===e.month&&this.day===e.day:false}strftime(e){return e.replace(/%([A-Za-z])/g,(n,r)=>{switch(r){case "Y":return ce(this.year);case "m":return S(this.month);case "d":return S(this.day);default:throw new U(`No known conversion for ${n}`)}})}substract(e){if(e instanceof h)return this.add(e.negate());if(e instanceof t)return h.create(this.toordinal()-e.toordinal());throw new P}toJSON(){return this.strftime("%Y-%m-%d")}toordinal(){return Ce(this.year,this.month,this.day)}},p=class t{constructor(e,n,r,u,a,s,o){this.year=e;this.month=n;this.day=r;this.hour=u;this.minute=a;this.second=s;this.microsecond=o;}static now(){return this.convertDate(new Date)}static convertDate(e){let n=e.getFullYear(),r=e.getMonth()+1,u=e.getDate(),a=e.getHours(),s=e.getMinutes(),o=e.getSeconds();return new t(n,r,u,a,s,o,0)}static create(...e){let n=N(e,["year","month","day","hour","minute","second","microsecond"]),r=n.year,u=n.month,a=n.day,s=n.hour||0,o=n.minute||0,i=n.second||0,c=n.microsecond/1e3||0;return new t(r,u,a,s,o,i,c)}static combine(...e){let{date:n,time:r}=N(e,["date","time"]);return t.create(n.year,n.month,n.day,r.hour,r.minute,r.second)}add(e){let n=fe(this.year,this.month,this.day+e.days,this.hour,this.minute,this.second+e.seconds,this.microsecond+e.microseconds);return new t(n.year,n.month,n.day,n.hour,n.minute,n.second,n.microsecond)}isEqual(e){return e instanceof t?this.year===e.year&&this.month===e.month&&this.day===e.day&&this.hour===e.hour&&this.minute===e.minute&&this.second===e.second&&this.microsecond===e.microsecond:false}strftime(e){return e.replace(/%([A-Za-z])/g,(n,r)=>{switch(r){case "Y":return ce(this.year);case "m":return S(this.month);case "d":return S(this.day);case "H":return S(this.hour);case "M":return S(this.minute);case "S":return S(this.second);default:throw new U(`No known conversion for ${n}`)}})}substract(e){return this.add(e.negate())}toJSON(){return this.strftime("%Y-%m-%d %H:%M:%S")}to_utc(){let e=new Date(this.year,this.month-1,this.day,this.hour,this.minute,this.second),n=h.create({minutes:e.getTimezoneOffset()});return this.add(n)}},j=class t extends E{constructor(n,r,u){let a=new Date,s=a.getFullYear(),o=a.getMonth()+1,i=a.getDate();super(s,o,i);this.hour=n;this.minute=r;this.second=u;this.hour=n,this.minute=r,this.second=u;}static create(...n){let r=N(n,["hour","minute","second"]),u=r.hour||0,a=r.minute||0,s=r.second||0;return new t(u,a,s)}strftime(n){return n.replace(/%([A-Za-z])/g,(r,u)=>{switch(u){case "Y":return ce(this.year);case "m":return S(this.month);case "d":return S(this.day);case "H":return S(this.hour);case "M":return S(this.minute);case "S":return S(this.second);default:throw new U(`No known conversion for ${r}`)}})}toJSON(){return this.strftime("%H:%M:%S")}},ue=[31,59,90,120,151,181,212,243,273,304,334,366],ft=["hour","minute","second"],yt=["year","month","day",...ft],pt="years months weeks days hours minutes seconds microseconds leapdays".split(" "),mt="year month day hour minute second microsecond weekday nlyearday yearday".split(" "),dt=["dt1","dt2"],O=class t{static create(...e){let n=N(e,dt);if("dt1"in n)throw new Error("relativedelta(dt1, dt2) is not supported for now");for(let u of yt)if(u in n){let a=n[u];ae(a>=0,`${u} ${a} is out of range`);}for(let u of pt)n[u]=n[u]||0;for(let u of mt)n[u]=u in n?n[u]:null;n.days+=7*n.weeks;let r=0;if(n.nlyearday?r=n.nlyearday:n.yearday&&(r=n.yearday,r>59&&(n.leapDays=-1)),r){for(let u=0;u<ue.length;u++)if(r<=ue[u]){n.month=u+1,u===0?n.day=r:n.day=r-ue[u-1];break}}return new t(n)}static add(e,n){if(!(e instanceof E||e instanceof p))throw new P;let r=fe((n.year||e.year)+n.years,(n.month||e.month)+n.months,n.day||e.day,n.hour||(e instanceof p?e.hour:0),n.minute||(e instanceof p?e.minute:0),n.second||(e instanceof p?e.second:0),n.microseconds||(e instanceof p?e.microsecond:0)),u=new p(r.year,r.month,r.day,r.hour,r.minute,r.second,r.microsecond),a=0;n.leapDays&&u.month>2&&H(u.year)&&(a=n.leapDays);let s=u.add(h.create({days:n.days+a,hours:n.hours,minutes:n.minutes,seconds:n.seconds,microseconds:n.microseconds})),i=!!!(s.hour||s.minute||s.second||s.microsecond)&&e instanceof E?new E(s.year,s.month,s.day):s;if(n.weekday!==null){let c=n.weekday+1,A=(7-new Date(i.year,i.month-1,i.day).getDay()+c)%7;return i.add(new h(A,0,0))}return i}static substract(e,n){return t.add(e,n.negate())}constructor(e={},n=1){this.years=n*e.years,this.months=n*e.months,this.days=n*e.days,this.hours=n*e.hours,this.minutes=n*e.minutes,this.seconds=n*e.seconds,this.microseconds=n*e.microseconds,this.leapDays=e.leapDays,this.year=e.year,this.month=e.month,this.day=e.day,this.hour=e.hour,this.minute=e.minute,this.second=e.second,this.microsecond=e.microsecond,this.weekday=e.weekday;}years;months;days;hours;minutes;seconds;microseconds;leapDays;year;month;day;hour;minute;second;microsecond;weekday;negate(){return new t(this,-1)}isEqual(){throw new P}},Et="weeks days hours minutes seconds milliseconds microseconds".split(" ");function oe(t){let e=t%1;return [e<0?e+1:e,Math.floor(t)]}var h=class t{constructor(e,n,r){this.days=e;this.seconds=n;this.microseconds=r;}static create(...e){let n=N(e,["days","seconds","microseconds"]);for(let f of Et)n[f]=n[f]||0;let r=0,u=0,a=0,s=n.days+n.weeks*7,o=n.seconds+60*n.minutes+3600*n.hours,i=n.microseconds+1e3*n.milliseconds,[c,l]=oe(s);r=l;let A=0;if(c){let[f,m]=oe(c*24*3600);u=m,A=f;}let[x,v]=oe(o);o=v;let L=x+A;return w(o,24*3600,(f,m)=>{r+=f,u+=m;}),i+=L*1e6,w(i,1e6,(f,m)=>{w(f,24*3600,(T,Me)=>{r+=T,u+=Me,a+=Math.round(m);});}),new t(r,u,a)}add(e){return t.create({days:this.days+e.days,seconds:this.seconds+e.seconds,microseconds:this.microseconds+e.microseconds})}divide(e){let n=(this.days*24*3600+this.seconds)*1e6+this.microseconds;return t.create({microseconds:Math.floor(n/e)})}isEqual(e){return e instanceof t?this.days===e.days&&this.seconds===e.seconds&&this.microseconds===e.microseconds:false}isTrue(){return this.days!==0||this.seconds!==0||this.microseconds!==0}multiply(e){return t.create({days:e*this.days,seconds:e*this.seconds,microseconds:e*this.microseconds})}negate(){return t.create({days:-this.days,seconds:-this.seconds,microseconds:-this.microseconds})}substract(e){return t.create({days:this.days-e.days,seconds:this.seconds-e.seconds,microseconds:this.microseconds-e.microseconds})}total_seconds(){return this.days*86400+this.seconds+this.microseconds/1e6}};var k=class extends Error{constructor(e){super(e),this.name="EvaluationError";}};function ye(t,e){if(t===null)throw new k("value not iterable");if(typeof t=="object"&&!Array.isArray(t)&&!(t instanceof Set)&&(t=Object.keys(t)),typeof t?.[Symbol.iterator]!="function")throw new k("value not iterable");return e(t)}var D={bool(t){switch(typeof t){case "number":return t!==0;case "string":return t!=="";case "boolean":return t;case "object":return t==null?false:"isTrue"in t&&typeof t.isTrue=="function"?t.isTrue():t instanceof Array?!!t.length:t instanceof Set?!!t.size:Object.keys(t).length!==0;default:return true}},set(t){if(arguments.length>2)throw new k(`set expected at most 1 argument, got (${arguments.length-1})`);return ye(t,e=>new Set(e))},time:{strftime(t){return p.now().strftime(t)}},context_today(){return E.today()},get current_date(){return this.today},get today(){return E.today().strftime("%Y-%m-%d")},get now(){return p.now().strftime("%Y-%m-%d %H:%M:%S")},datetime:{time:j,timedelta:h,datetime:p,date:E},relativedelta:O,true:true,false:false};function q(t){switch(typeof t){case "string":return {type:1,value:t};case "number":return {type:0,value:t};case "boolean":return {type:2,value:t};case "object":if(Array.isArray(t))return {type:4,value:t.map(q)};if(t===null)return {type:3};if(t instanceof Date)return {type:1,value:String(p.convertDate(t))};if(t instanceof E||t instanceof p)return {type:1,value:t};{let e={};for(let n in t)e[n]=q(t[n]);return {type:11,value:e}}default:throw new Error("Invalid type")}}function y(t,e=0){switch(t.type){case 3:return "None";case 1:return JSON.stringify(t.value);case 0:return String(t.value);case 2:return t.value?"True":"False";case 4:return `[${t.value.map(y).join(", ")}]`;case 6:return t.op==="not"?`not ${y(t.right,50)}`:`${t.op}${y(t.right,130)}`;case 7:let n=V(t.op),r=`${y(t.left,n)} ${t.op} ${y(t.right,n)}`;return n<e?`(${r})`:r;case 11:let u=[];for(let v in t.value)u.push(`"${v}": ${y(t.value[v])}`);return `{${u.join(", ")}}`;case 10:return `(${t.value.map(y).join(", ")})`;case 5:return t.value;case 12:return `${y(t.target)}[${y(t.key)}]`;case 13:let{ifTrue:a,condition:s,ifFalse:o}=t;return `${y(a)} if ${y(s)} else ${y(o)}`;case 14:let i=V(t.op),c=`${y(t.left,i)} ${t.op} ${y(t.right,i)}`;return i<e?`(${c})`:c;case 15:return `${y(t.obj,150)}.${t.key}`;case 8:let l=t.args.map(y),A=[];for(let v in t.kwargs)A.push(`${v} = ${y(t.kwargs[v])}`);let x=l.concat(A).join(", ");return `${y(t.fn)}(${x})`;default:throw new Error("invalid expression: "+JSON.stringify(t))}}var pe=Object.create(null);function me(t){return new Proxy(t,{getPrototypeOf(){return pe}})}var W=D.bool;function ht(t,e){let n=B(t.right,e);switch(t.op){case "-":return n instanceof Object&&"negate"in n?n.negate():-n;case "+":return n;case "not":return !W(n);default:throw new k(`Unknown unary operator: ${t.op}`)}}function Oe(t){switch(typeof t){case "object":return t===null?1:Array.isArray(t)?5:3;case "number":return 2;case "string":return 4;default:throw new k(`Unknown type: ${typeof t}`)}}function G(t,e){if(typeof t=="number"&&typeof e=="number")return t<e;typeof t=="boolean"&&(t=t?1:0),typeof e=="boolean"&&(e=e?1:0);let n=Oe(t),r=Oe(e);return n===r?t<e:n<r}function X(t,e){return typeof t!=typeof e?typeof t=="boolean"&&typeof e=="number"?e===(t?1:0):typeof t=="number"&&typeof e=="boolean"?t===(e?1:0):false:t instanceof Object&&"isEqual"in t?t.isEqual(e):t===e}function ke(t,e){return Array.isArray(e)||typeof e=="string"&&typeof t=="string"?e.includes(t):typeof e=="object"?t in e:false}function gt(t,e){let n=B(t.left,e),r=B(t.right,e);switch(t.op){case "+":{let u=n instanceof O,a=r instanceof O;if(u||a){let i=u?r:n,c=u?n:r;return O.add(i,c)}let s=n instanceof h,o=r instanceof h;if(s&&o)return n.add(r);if(s){if(r instanceof E||r instanceof p)return r.add(n);throw new P}if(o){if(n instanceof E||n instanceof p)return n.add(r);throw new P}return n instanceof Array&&r instanceof Array?[...n,...r]:n+r}case "-":{if(r instanceof O)return O.substract(n,r);if(r instanceof h){if(n instanceof h)return n.substract(r);if(n instanceof E||n instanceof p)return n.substract(r);throw new P}return n instanceof E?n.substract(r):n-r}case "*":{let u=n instanceof h,a=r instanceof h;if(u||a){let s=u?r:n;return (u?n:r).multiply(s)}return n*r}case "/":return n/r;case "%":return n%r;case "//":return n instanceof h?n.divide(r):Math.floor(n/r);case "**":return n**r;case "==":return X(n,r);case "<>":case "!=":return !X(n,r);case "<":return G(n,r);case ">":return G(r,n);case ">=":return X(n,r)||G(r,n);case "<=":return X(n,r)||G(n,r);case "in":return ke(n,r);case "not in":return !ke(n,r);default:throw new k(`Unknown binary operator: ${t.op}`)}}var Ee={get(...t){let{key:e,defValue:n}=N(t,["key","defValue"]),r=this;return e in r?r[e]:n!==void 0?n:null}},Pe={lower(){return this.toLowerCase()},upper(){return this.toUpperCase()}};function de(t,e,n,...r){if(r.length===1)return new Set(n);if(r.length>2)throw new k(`${t}: py_js supports at most 1 argument, got (${r.length-1})`);return ye(r[0],e)}var Re={intersection(...t){return de("intersection",e=>{let n=new Set;for(let r of e)this.has(r)&&n.add(r);return n},this,...t)},difference(...t){return de("difference",e=>{e=new Set(e);let n=new Set;for(let r of this)e.has(r)||n.add(r);return n},this,...t)},union(...t){return de("union",e=>new Set([...this,...e]),this,...t)}};function Be(t){return Object.getOwnPropertyNames(t.prototype).map(e=>t.prototype[e])}var Ie=new Set([D.time.strftime,D.set,D.bool,D.context_today,D.datetime.datetime.now,D.datetime.datetime.combine,D.datetime.date.today,...Be(D.relativedelta),...Object.values(D.datetime).flatMap(t=>Be(t)),...Object.values(Re),...Object.values(Ee),...Object.values(Pe)]),Ne=Symbol("unbound function");function B(t,e={}){let n=new Set,r,u=Object.create(e);u?.context||Object.defineProperty(u,"context",{get(){return r||(r=me(e)),r}});function a(o){switch(o?.type){case 0:case 1:return o.value;case 5:return o.value in u?typeof u[o.value]=="object"&&u[o.value]?.id&&o?.value!=="parent"?u[o.value]?.id:u[o.value]??false:o.value in D?D[o.value]:false;case 3:return null;case 2:return o.value;case 6:return ht(o,u);case 7:return gt(o,u);case 14:let i=s(o.left);return o.op==="and"?W(i)?s(o.right):i:W(i)?i:s(o.right);case 4:case 10:return o.value.map(s);case 11:let c={};for(let T in o.value)c[T]=s(o.value[T]);return n.add(c),c;case 8:let l=s(o.fn),A=o.args.map(s),x={};for(let T in o.kwargs)x[T]=s(o?.kwargs[T]);return l===E||l===p||l===j||l===O||l===h?l.create(...A,x):l(...A,x);case 12:let v=s(o.target),L=s(o.key);return v[L];case 13:return W(s(o.condition))?s(o.ifTrue):s(o.ifFalse);case 15:let f=s(o.obj),m;if(n.has(f)||Object.isPrototypeOf.call(pe,f)?m=Ee[o.key]:typeof f=="string"?m=Pe[o.key]:f instanceof Set?m=Re[o.key]:o.key==="get"&&typeof f=="object"?(m=Ee[o.key],f=me(f)):typeof f=="number"?m=f:Array.isArray(f[o.key])?m=f[o.key]?.map(T=>T?.id??T):m=f[o.key]?.id??f[o.key]??false,typeof m=="function"){let T=m.bind(f);return T[Ne]=m,T}return m;default:throw new k(`AST of type ${o.type} cannot be evaluated`)}}function s(o){let i=a(o);if(typeof i=="function"&&!Ie.has(i)&&!Ie.has(i[Ne]))throw new Error("Invalid Function Call");return i}return s(t)}function $(t){let e=te(t);return re(e)}function M(t,e={}){let n;try{n=$(t);}catch(r){throw new EvalError(`Can not parse python expression: (${t})
4
+ Error: ${r.message}`)}try{return B(n,e)}catch(r){throw new EvalError(`Can not evaluate python expression: (${t})
5
+ Error: ${r.message}`)}}function Ue(t,e={}){return !t||t==="False"||t==="0"?false:t==="True"||t==="1"?true:M(`bool(${t})`,e)}function At(t,e){let n=Object.assign({},e),r={};for(let u of t)u!==""&&(u=typeof u=="string"?M(u,n):u||{},Object.assign(r,u),Object.assign(n,r));return r}function he(t,e={}){let n=$(t),r={};for(let u in n.value){let a=n.value[u];try{r[u]=B(a,e);}catch{}}return r}function je(t,e,n=(r,u)=>r===u){if(!t||!e||typeof t!="object"||typeof e!="object")return t===e;let r=Object.keys(t);return r.length===Object.keys(e).length&&r.every(u=>n(t[u],e[u]))}var Le=je;function Y(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var I=class extends Error{},F=class t{ast={type:-1,value:null};static TRUE;static FALSE;static combine(e,n){if(e.length===0)return new t([]);let r=e[0]instanceof t?e[0]:new t(e[0]);if(e.length===1)return r;let u=t.combine(e.slice(1),n),a=new t([]),s=r.ast.value,o=u.ast.value,i=n==="AND"?"&":"|",c={type:4,value:s.concat(o)};return a.ast=$e(c,i),a}static and(e){return t.combine(e,"AND")}static or(e){return t.combine(e,"OR")}static not(e){let n=new t(e);return n.ast.value.unshift({type:1,value:"!"}),n}static removeDomainLeaves(e,n){function r(s,o,i,c){let l=s[o];if(l.type===10)return n.includes(l.value[0].value)?i==="&"?c.ast.value.push(...t.TRUE.ast.value):i==="|"&&c.ast.value.push(...t.FALSE.ast.value):c.ast.value.push(l),1;if(l.type===1){if(l.value==="|"&&s[o+1].type===10&&s[o+2].type===10&&n.includes(s[o+1].value[0].value)&&n.includes(s[o+2].value[0].value))return c.ast.value.push(...t.TRUE.ast.value),3;if(c.ast.value.push(l),l.value==="!")return 1+r(s,o+1,"&",c);let A=r(s,o+1,l.value,c),x=r(s,o+1+A,l.value,c);return 1+A+x}return 0}let u=new t(e);if(u.ast.value.length===0)return u;let a=new t([]);return r(u.ast.value,0,"&",a),a}constructor(e=[]){if(e instanceof t)return new t(e.toString());{let n;try{n=typeof e=="string"?$(e):Ft(e);}catch(r){throw new I(`Invalid domain representation: ${e}`,{cause:r})}this.ast=$e(n);}}contains(e){let n=B(this.ast,e);return vt(e,n)}toString(){return y(this.ast)}toList(e){return B(this.ast,e)}toJson(){try{let e=this.toList({});return new t(e).toString()===this.toString()?e:this.toString()}catch{return this.toString()}}};function Tt(t,e){return t&&typeof t!="boolean"&&(t=new F(t).contains(e)),!!t}var bt=[1,"=",1],Dt=[0,"=",1],St=new F([bt]),wt=new F([Dt]);F.TRUE=St;F.FALSE=wt;function Ft(t){return {type:4,value:t.map(n=>{switch(n){case "!":case "&":case "|":return {type:1,value:n};default:return {type:10,value:n.map(q)}}})}}function $e(t,e="&"){if(t.type!==4)if(t.type===10){let u=t.value;if(u.findIndex(a=>a.type===10)===-1||!u.every(a=>a.type===10||a.type===1))throw new I("Invalid domain AST")}else throw new I("Invalid domain AST");if(t.value.length===0)return t;let n=1;for(let u of t.value)switch(u.type){case 1:if(u.value==="&"||u.value==="|")n++;else if(u.value!=="!")throw new I("Invalid domain AST");break;case 4:case 10:if(u.value.length===3){n--;break}throw new I("Invalid domain AST");default:throw new I("Invalid domain AST")}let r=t.value.slice();for(;n<0;)n++,r.unshift({type:1,value:e});if(n>0)throw new I(`invalid domain ${y(t)} (missing ${n} segment(s))`);return {type:4,value:r}}function Q(t,e){if(typeof e=="boolean")return e;let[n,r,u]=e;if(typeof n=="string"){let i=n.split(".");if(i.length>=2)return Q(t[i[0]],[i.slice(1).join("."),r,u])}let a,s;["like","not like","ilike","not ilike"].includes(r)&&(a=new RegExp(`(.*)${Y(u).replaceAll("%","(.*)")}(.*)`,"g"),s=new RegExp(`(.*)${Y(u).replaceAll("%","(.*)")}(.*)`,"gi"));let o=typeof n=="number"?n:t[n];switch(r){case "=?":if([false,null].includes(u))return true;case "=":case "==":return Array.isArray(o)&&Array.isArray(u)?Le(o,u):o===u;case "!=":case "<>":return !Q(t,[n,"==",u]);case "<":return o<u;case "<=":return o<=u;case ">":return o>u;case ">=":return o>=u;case "in":{let i=Array.isArray(u)?u:[u];return (Array.isArray(o)?o:[o]).some(l=>i.includes(l))}case "not in":{let i=Array.isArray(u)?u:[u];return !(Array.isArray(o)?o:[o]).some(l=>i.includes(l))}case "like":return o===false?false:!!o.match(a);case "not like":return o===false?false:!o.match(a);case "=like":return o===false?false:new RegExp(Y(u).replace(/%/g,".*")).test(o);case "ilike":return o===false?false:!!o.match(s);case "not ilike":return o===false?false:!o.match(s);case "=ilike":return o===false?false:new RegExp(Y(u).replace(/%/g,".*"),"i").test(o)}throw new I("could not match domain")}function xt(t){let e=Q.bind(null,t);return {"!":n=>!e(n),"&":(n,r)=>e(n)&&e(r),"|":(n,r)=>e(n)||e(r)}}function vt(t,e){if(e.length===0)return true;let n=xt(t),r=Array.from(e).reverse(),u=[];for(let a of r){let s=typeof a=="string"&&n[a];if(s){let o=u.splice(-s.length);u.push(s(...o));}else u.push(a);}return Q(t,u.pop())}var z=(t,e)=>{try{if(e===void 0||e==="0"||e==="False"||e===!1)return !1;if(e==="1"||e==="True"||e===!0)return !0;try{if(t&&e)return new F(e).contains(t)}catch{return t&&e?Ue(e,t):!1}return !1}catch{return false}},ge=(t,e)=>{if(Array.isArray(e)){if(e?.length>0)return e&&e.some(n=>z(t,n))}else return z(t,e);return false};var Ct={checkDomain:z,matchDomains:ge,Domain:F},Ot=(t,e={})=>{try{return he(t,JSON.parse(JSON.stringify(e)))}catch{return null}},kt=(t,e)=>{let n=JSON.parse(JSON.stringify(e));try{return n&&Object.keys(n)?.forEach(u=>{Array.isArray(n[u])&&n[u]?.every(s=>typeof s=="object"&&s!==null&&s?.id!==void 0)&&(n[u]=n[u]?.map(s=>s?.id));}),M(t,n)}catch{try{return new F(t).toList(n)}catch{return []}}},Bt=t=>t?t.split(",").map(e=>{let[n,r]=e.trim().split(/\s+/),u=r?.toUpperCase()==="DESC"?"DESC":"ASC";return `${n} ${u}`}).join(", "):null,It=t=>Object.keys(t).map(e=>encodeURIComponent(e)+"="+encodeURIComponent(t[e].toString())).join("&");function Nt(t){let e={};for(let[n,r]of Object.entries(t))r!=null&&(e[n]=r);return e}var Pt=(t,e)=>{if(!t.data)return t.data;if(typeof t.data=="string")try{let n=JSON.parse(t.data);return n.with_context&&typeof n.with_context=="object"&&(n.with_context.token=e),JSON.stringify(n)}catch(n){return console.warn("Failed to parse originalRequest.data",n),t.data}return typeof t.data=="object"&&t.data.with_context&&(t.data.with_context.token=e),t.data};exports.a=Ae;exports.b=Te;exports.c=At;exports.d=he;exports.e=I;exports.f=F;exports.g=Tt;exports.h=z;exports.i=ge;exports.j=Ct;exports.k=Ot;exports.l=kt;exports.m=Bt;exports.n=It;exports.o=Nt;exports.p=Pt;
@@ -0,0 +1 @@
1
+ 'use strict';var T=(r=>(r.CHAR="char",r.TEXT="text",r.INTEGER="integer",r.FLOAT="float",r.BOOLEAN="boolean",r.DATE="date",r.DATETIME="datetime",r.BINARY="binary",r.SELECTION="selection",r.HTML="html",r.MANY2ONE="many2one",r.ONE2MANY="one2many",r.MANY2MANY="many2many",r.MONETARY="monetary",r.REFERENCE="reference",r.FUNCTION="function",r.PROPERTY="property",r))(T||{});var P=(R=>(R[R.CREATE=0]="CREATE",R[R.UPDATE=1]="UPDATE",R[R.DELETE=2]="DELETE",R[R.UNLINK=3]="UNLINK",R[R.NO_CHANGE=4]="NO_CHANGE",R))(P||{});var N=(O=>(O.MENU="ir.ui.menu",O.USER="res.users",O.COMPANY="res.company",O.WINDOW_ACTION="ir.actions.act_window",O.BASE_IMPORT="base_import.import",O.GET_IMPORT="get_import_templates",O.POS_PREPARATION_DISPLAY="pos_preparation_display.display",O.POS_PREPARATION_ORDER="pos_preparation_display.order",O.POS_PREPARATION_ORDER_LINE="pos_preparation_display.orderline",O.POS_ORDER="pos.order",O.COUNTRY="res.country",O.COUNTRY_STATE="res.country.state",O.COUNTRY_WARD="res.country.ward",O.RES_PARTNER_TITLE="res.partner.title",O))(N||{}),u=(_=>(_.ACCOUNT_CASH_ROUNDING="account.cash.rounding",_.ACCOUNT_FISCAL_POSITION="account.fiscal.position",_.ACCOUNT_FISCAL_POSITION_TAX="account.fiscal.position.tax",_.ACCOUNT_TAX="account.tax",_.ACCOUNT_TAX_GROUP="account.tax.group",_.DECIMAL_PRECISION="decimal.precision",_.IR_MODULE_MODULE="ir.module.module",_.IR_UI_VIEW="ir.ui.view",_.POS_BILL="pos.bill",_.POS_CATEGORY="pos.category",_.POS_CONFIG="pos.config",_.POS_NOTE="pos.note",_.POS_ORDER="pos.order",_.POS_ORDER_LINE="pos.order.line",_.POS_PACK_OPERATION_LOT="pos.pack.operation.lot",_.POS_PAYMENT="pos.payment",_.POS_PAYMENT_METHOD="pos.payment.method",_.POS_PRINTER="pos.printer",_.POS_SESSION="pos.session",_.POS_PREPARATION_DISPLAY_DISPLAY="pos_preparation_display.display",_.PRODUCT_ATTRIBUTE="product.attribute",_.PRODUCT_ATTRIBUTE_CUSTOM_VALUE="product.attribute.custom.value",_.PRODUCT_CATEGORY="product.category",_.PRODUCT_COMBO="product.combo",_.PRODUCT_COMBO_ITEM="product.combo.item",_.PRODUCT_PACKAGING="product.packaging",_.PRODUCT_PRICELIST="product.pricelist",_.PRODUCT_PRICELIST_ITEM="product.pricelist.item",_.PRODUCT_PRODUCT="product.product",_.PRODUCT_TAG="product.tag",_.PRODUCT_TEMPLATE_ATTRIBUTE_LINE="product.template.attribute.line",_.PRODUCT_TEMPLATE_ATTRIBUTE_VALUE="product.template.attribute.value",_.RES_COMPANY="res.company",_.RES_COUNTRY="res.country",_.RES_COUNTRY_STATE="res.country.state",_.RES_CURRENCY="res.currency",_.RES_LANG="res.lang",_.RES_PARTNER="res.partner",_.RES_USERS="res.users",_.STOCK_PICKING_TYPE="stock.picking.type",_.UOM_CATEGORY="uom.category",_.UOM_UOM="uom.uom",_.LOYALTY_PROGRAM="loyalty.program",_.LOYALTY_RULE="loyalty.rule",_.LOYALTY_REWARD="loyalty.reward",_.RESTAURANT_TABLE="restaurant.table",_.RESTAURANT_FLOOR="restaurant.floor",_.POS_MAKE_PAYMENT="pos.make.payment",_))(u||{}),t=(r=>(r.ACCOUNT_TAXES="account_taxes",r.COMPANIES="companies",r.CUSTOMERS="customers",r.EMPLOYEES="employees",r.LOYALTY_PROGRAMS="loyalty_programs",r.LOYALTY_REWARDS="loyalty_rewards",r.LOYALTY_RULES="loyalty_rules",r.ORDER_LINE="order_line",r.ORDERS="orders",r.PAYMENT_METHODS="payment_methods",r.PAYMENTS="payments",r.POS_CONFIGS="pos_configs",r.POS_SESSIONS="pos_sessions",r.POS_CATEGORIES="pos_categories",r.PRODUCTS="products",r.RESTAURANT_FLOORS="restaurant_floors",r.RESTAURANT_TABLES="restaurant_tables",r))(t||{}),I={"account.tax":"account_taxes","res.company":"companies","res.partner":"customers","res.users":"employees","loyalty.program":"loyalty_programs","loyalty.rule":"loyalty_rules","loyalty.reward":"loyalty_rewards","pos.config":"pos_configs","pos.session":"pos_sessions","pos.order.line":"order_line","pos.order":"orders","pos.payment.method":"payment_methods","pos.payment":"payments","pos.category":"pos_categories","product.product":"products","restaurant.floor":"restaurant_floors","restaurant.table":"restaurant_tables"};var m=(E=>(E.GROUP="group",E.FIELD="field",E.TREE="tree",E.DIV="div",E.LIST="list",E.FORM="form",E.SETTINGS="setting",E.SPAN="span",E.KANBAN="kanban",E.CALENDAR="calendar",E.TYPE="view-type",E))(m||{}),i={FILTER:"filter_by",SEARCH:"search_by",GROUP:"group_by"};var s=(A=>(A.many2one_avatar_user="many2one_avatar_user",A.many2many_avatar_user="many2many_avatar_user",A))(s||{}),p=(A=>(A.many2one_avatar_user="many2one_avatar_user",A.many2many_avatar_user="many2many_avatar_user",A))(p||{});var c=(A=>(A.many2many_tags="many2many_tags",A.helpdesk_sla_many2many_tags="helpdesk_sla_many2many_tags",A))(c||{});var e=(S=>(S.sla_status_ids="sla_status_ids",S))(e||{}),U=(S=>(S.sla_status_ids="sla_status_ids",S))(U||{});exports.a=T;exports.b=P;exports.c=N;exports.d=u;exports.e=t;exports.f=I;exports.g=m;exports.h=i;exports.i=s;exports.j=p;exports.k=c;exports.l=e;exports.m=U;
@@ -0,0 +1 @@
1
+ import {i}from'./chunk-MULIHGQM.mjs';var c=class{name;view;fields;constructor(t){this.name=t.name,this.view=t.view,this.fields=t.fields;}getSpecificationByFields({fields:t=[],specification:r={},modelsData:s,model:a,modelRoot:p}){if(Array.isArray(t)){let i$1={...r};return t.forEach(e=>{if(!e?.type_co||e?.name&&e?.type_co==="field"){if(s?.[a]?.[e?.name])if(s?.[a]?.[e?.name]?.type==="one2many"||s?.[a]?.[e?.name]?.type==="many2many"){let n=s?.[a]?.[e?.name]?.relation,o=s?.[n];o?(i$1[e?.name]={fields:{}},p&&p===n?i$1[e?.name].fields={id:{}}:i$1[e?.name].fields=this.getSpecificationByFields({fields:Object.values(o),specification:{id:{},display_name:{}},modelsData:s,model:n,modelRoot:a})):i$1[e?.name]={fields:{id:{},display_name:{},...e?.widget==="many2many_binary"?{mimetype:{}}:{},...e?.widget==="many2many_binary"&&n==="ir.attachment"?{datas:{}}:{}}};}else s?.[a]?.[e?.name]?.type==="many2one"?i$1[e?.name]={fields:{id:{},display_name:{},...i[e?.widget]?{image_256:{}}:{},...e?.name==="currency_id"&&t?.find(n=>n?.widget==="monetary")?{symbol:{}}:{},...e?.widget==="many2many_binary"?{mimetype:{}}:{}}}:i$1[e?.name]={};}else if(e?.type_co==="group"||e?.type_co==="div"||e?.type_co==="span"){let n=this.getSpecificationByFields({fields:e?.fields,specification:i$1,modelsData:s,model:a});i$1={...i$1,...n};}else if(e?.type_co==="tree"||e?.type_co==="list"){let n=s?.[a]?.[e?.name]?.relation,o=this.getSpecificationByFields({fields:e?.fields,specification:{},modelsData:s,model:n,modelRoot:a});i$1={...i$1,[e?.name]:{fields:o}};}}),i$1}else console.warn("fields is not array");}getTreeProps(){return this.view?.views?.list||{}}getTreeFields(){return this.view?.views?.list?.fields||[]}getSpecification(){let t={},r=this.view?.models||{};return this.getSpecificationByFields({fields:this.fields,specification:t,modelsData:r,model:this.name,modelRoot:""})}};export{c as a};
@@ -0,0 +1 @@
1
+ 'use strict';var chunkX73KGPFZ_cjs=require('./chunk-X73KGPFZ.cjs'),chunkQV6QYYJF_cjs=require('./chunk-QV6QYYJF.cjs'),chunk24JB4Q7Z_cjs=require('./chunk-24JB4Q7Z.cjs'),chunkQWAB6OBZ_cjs=require('./chunk-QWAB6OBZ.cjs'),chunkN6RX73K2_cjs=require('./chunk-N6RX73K2.cjs'),react=require('react'),reactQuery=require('@tanstack/react-query'),jsxRuntime=require('react/jsx-runtime'),supabaseJs=require('@supabase/supabase-js');var ae=({children:e})=>{let[t]=react.useState(()=>new reactQuery.QueryClient({defaultOptions:{queries:{refetchOnWindowFocus:false,refetchOnMount:false,refetchOnReconnect:false,retry:false}}}));return jsxRuntime.jsx(reactQuery.QueryClientProvider,{client:t,children:e})};var Lo=({children:e})=>jsxRuntime.jsx(ae,{children:e});var Mr={env:null,baseUrl:"",requests:null,companies:[],user:{},config:null,envFile:null,defaultCompany:{id:null,logo:"",secondary_color:"",primary_color:"",secondary_logo:""},context:{uid:null,lang:"vi_VN",tz:"Asia/Saigon"},excludeLanguages:[],isSupaMode:false},Mo=react.createContext(null);function Oo({children:e,localStorageUtils:t=chunkQV6QYYJF_cjs.a(),sessionStorageUtils:r=chunkQV6QYYJF_cjs.b}){let[o,s]=react.useState({...Mr,localStorageUtils:t,sessionStorageUtils:r}),n=react.useCallback(i=>{let p={...o,...i,localStorageUtils:t,sessionStorageUtils:r},b=chunkX73KGPFZ_cjs.a.init(p);return s({...p,requests:b}),p},[o,t,r]),a=react.useCallback(i=>{s(p=>({...p,context:{...p.context,uid:i}}));},[]),u=react.useCallback(i=>{s(p=>({...p,context:{...p.context,lang:i}}));},[]),m=react.useCallback(i=>{s(p=>({...p,context:{...p.context,allowed_company_ids:i}}));},[]),l=react.useCallback(i=>{s(p=>({...p,companies:i}));},[]),C=react.useCallback(i=>{s(p=>({...p,defaultCompany:i}));},[]),v=react.useCallback(i=>{s(p=>({...p,user:i}));},[]),c=react.useCallback(i=>{s(p=>({...p,config:i}));},[]),y=react.useCallback(i=>{s(p=>({...p,envFile:i}));},[]);return jsxRuntime.jsx(Mo.Provider,{value:{env:o,setupEnv:n,setUid:a,setLang:u,setAllowCompanies:m,setCompanies:l,setDefaultCompany:C,setUserInfo:v,setConfig:c,setEnvFile:y},children:e})}function G(){let e=react.useContext(Mo);if(!e)throw new Error("useEnv must be used within an EnvProvider");return e}function R(){let{env:e}=G(),t=react.useCallback(async({idAction:l,context:C,service:v,xNode:c,searchParams:y})=>{let i={action_id:l,with_context:{...C}},p=y?`/load_action?${chunkQV6QYYJF_cjs.n(y)}`:"/load_action";return e.requests.post(p,i,{headers:{"Content-Type":"application/json","X-Node":c}},v)},[e]),r=react.useCallback(async({model:l,ids:C=[],context:v,method:c,service:y,xNode:i})=>{try{let p={model:l,method:c,ids:C,with_context:v};return e.requests.post("/call",p,{headers:{"Content-Type":"application/json",...i?{"X-Node":i}:{}}},y)}catch(p){throw console.error("Error when calling button action:",p),p}},[e]),o=react.useCallback(async({model:l,ids:C,context:v,service:c,xNode:y})=>{let i={model:l,method:"unlink",ids:C,with_context:v};return e.requests.post("/call",i,{headers:{"Content-Type":"application/json"},...y?{"X-Node":y}:{}},c)},[e]),s=react.useCallback(async({model:l,id:C,context:v,service:c,xNode:y})=>{let i={model:l,method:"copy",ids:C,with_context:v};return e.requests.post("/call",i,{headers:{"Content-Type":"application/json"},...y?{"X-Node":y}:{}},c)},[e]),n=react.useCallback(async({id:l})=>{let C={model:"ir.actions.report",method:"web_read",id:l,kwargs:{specification:{report_name:{}}}};return e.requests.post("/call",C,{headers:{"Content-Type":"application/json"}})},[e]),a=react.useCallback(async({id:l,report:C,db:v})=>{let y=chunkQV6QYYJF_cjs.n({report:C,id:l,type:"pdf",file_response:true,db:v}),i=`/report?${y}`;return e.requests.get(i,{headers:{"Content-Type":"application/json"},responseType:"arraybuffer"})},[e]),u=react.useCallback(async({idAction:l,context:C,service:v,xNode:c,searchParams:y})=>{let i={action_id:l,with_context:{...C}},p=y?`/run_action?${chunkQV6QYYJF_cjs.n(y)}`:"/run_action";return e.requests.post(p,i,{headers:{"Content-Type":"application/json",...c?{"X-Node":c}:{}}},v)},[e]),m=react.useCallback(async({kwargs:l,context:C,service:v,xNode:c})=>{let y={model:"stock.move",method:"action_generate_lot_line_vals",with_context:{...C},kwargs:l};return e.requests.post("/call",y,{headers:{"Content-Type":"application/json"},...c?{"X-Node":c}:{}},v)},[e]);return {loadAction:t,callButton:r,removeRows:o,duplicateRecord:s,getPrintReportName:n,print:a,runAction:u,generateSerialNumber:m}}var xo=react.createContext(null),qo=({supabaseUrl:e,supabaseKey:t,tenantId:r,children:o})=>{let s=react.useMemo(()=>!e||!t?null:supabaseJs.createClient(e,t,{global:{headers:{"X-Tenant-ID":r}}}),[e,t]);return jsxRuntime.jsx(xo.Provider,{value:s,children:o})},No=()=>{let e=react.useContext(xo);if(!e)throw new Error("useSupabase must be used within a SupabaseProvider or check your env config");return e},L=()=>react.useContext(xo);function A(){let{env:e}=G(),t=L(),r=react.useCallback(async d=>{let g=Object.fromEntries(Object.entries({username:d.email,password:d.password,grant_type:e?.config?.grantType||"",client_id:e?.config?.clientId||"",client_secret:e?.config?.clientSecret||""}).filter(([w,S])=>!!S)),T=new URLSearchParams(g).toString();return e?.requests?.post(d.path,T,{headers:{"Content-Type":"application/x-www-form-urlencoded"}},d.service)},[e]),o=react.useCallback(async d=>{if(!t)return {data:null,error:{message:"Supabase client is not initialized"}};let{data:g,error:T}=await t.auth.signInWithPassword({email:d.email,password:d.password});return {data:g,error:T}},[t]),s=react.useCallback(async d=>{let g={login:d,url:`${window.location.origin}/reset-password`};return e?.requests?.post("/reset_password",g,{headers:{"Content-Type":"application/json"}})},[e]),n=react.useCallback(async({email:d,with_context:g,method:T})=>{let w={method:T,kwargs:{vals:{email:d}},with_context:g};return e?.requests?.post("/call",w,{headers:{"Content-Type":"application/json"}})},[e]),a=react.useCallback(async(d,g)=>{let T={token:g,password:d.password,new_password:d.confirmPassword};return e?.requests?.post("/change_password",T,{headers:{"Content-Type":"application/json"}})},[e]),u=react.useCallback(async({method:d,password:g,with_context:T})=>{let w={method:d,kwargs:{vals:{password:g}},with_context:T};return e?.requests?.post("/call",w,{headers:{"Content-Type":"application/json"}})},[e]),m=react.useCallback(async(d,g)=>{let T={token:g,old_password:d.oldPassword,new_password:d.newPassword};return e?.requests?.post("/change_password_parent",T,{headers:{"Content-Type":"application/json"}})},[e]),l=react.useCallback(async d=>{let g={token:d};return e?.requests?.post("/check_token",g,{headers:{"Content-Type":"application/json"}})},[e]),C=react.useCallback(async d=>{let g={};return e?.requests?.post("/action-token/validate",g,{headers:{"Content-Type":"application/json","X-Use-Action-Token":"true","X-Action-Token":d}})},[e]),v=react.useCallback(async({db:d,state:g,access_token:T})=>e?.requests?.post("/token/generate",{state:g,access_token:T},{headers:{"Content-Type":"application/json"}}),[e]),c=react.useCallback(async d=>e?.requests?.get("/oauth/providers",{params:{db:d}}),[e]),y=react.useCallback(async d=>{let g=new URLSearchParams;return g.append("code",d),g.append("grant_type","authorization_code"),g.append("client_id",e?.config?.clientId||""),g.append("redirect_uri",e?.config?.redirectUri||""),e?.requests?.post("/token",g,{headers:{"Content-Type":"application/x-www-form-urlencoded"}},"id")},[e]),i=react.useCallback(async d=>e?.requests?.post("/logout",{},{headers:{"Content-Type":"application/json","X-Use-Refresh-Token":"true"},withCredentials:true},d),[e]),p=react.useCallback(async({shortName:d,service:g})=>{let T={short_name:d};return e?.requests.post("/tenant-mapping",T,{headers:{"Content-Type":"application/json"}},g)},[e]),b=react.useCallback(async({phone:d,name:g,service:T,xNode:w})=>{let S={phone:d,name:g};return e?.requests.post("/emenu/auth/token",S,{headers:{"Content-Type":"application/json",...w?{"X-Node":w}:{}}},T)},[e]);return {login:r,loginSupabase:o,forgotPassword:s,forgotPasswordSSO:n,resetPassword:a,resetPasswordSSO:u,updatePassword:m,isValidToken:l,isValidActionToken:C,loginSocial:v,getProviders:c,getAccessByCode:y,logout:i,getTenantMapping:p,getToken:b}}function $(){let{env:e}=G(),t=react.useCallback(async(o,s)=>await e.requests.get("/company",{headers:s?{...s,"Content-Type":"application/json"}:{"Content-Type":"application/json"}},o),[e]),r=react.useCallback(async(o,s)=>{let n={ids:[o],model:"res.company",method:"web_read",kwargs:{specification:{primary_color:{},secondary_color:{},logo:{},display_name:{},secondary_logo:{}}}};return await e.requests.post("/call",n,{headers:{"Content-Type":"application/json"}},s)},[e]);return {getCurrentCompany:t,getInfoCompany:r}}function N(){let{env:e}=G(),t=react.useCallback(async({formData:m,service:l,xNode:C})=>e.requests.post("/upload/file",m,{headers:{"X-Node":C}},l),[e]),r=react.useCallback(async({formData:m,service:l,xNode:C})=>e.requests.post("/upload/file",m,{headers:{"X-Node":C}},l),[e]),o=react.useCallback(async({id:m,selectedSheet:l,isHeader:C,context:v,service:c,xNode:y})=>{let i={model:"base_import.import",method:"parse_preview",ids:[m],kwargs:{options:{import_skip_records:[],import_set_empty_fields:[],fallback_values:{},name_create_enabled_fields:{},encoding:"",separator:"",quoting:'"',date_format:"",datetime_format:"",float_thousand_separator:",",float_decimal_separator:".",advanced:true,has_headers:C,keep_matches:false,limit:2e3,sheets:[],sheet:l,skip:0,tracking_disable:true}},with_context:v};return e.requests.post("/call",i,{headers:{"Content-Type":"application/json","X-Node":y}},c)},[e]),s=react.useCallback(async({columns:m,fields:l,idFile:C,options:v,dryrun:c,context:y,service:i,xNode:p})=>{let b={model:"base_import.import",method:"execute_import",ids:[C],kwargs:{fields:l,columns:m,options:v,dryrun:c},with_context:y};return e.requests.post("/call",b,{headers:{"Content-Type":"application/json","X-Node":p}},i)},[e]),n=react.useCallback(async({model:m,service:l,xNode:C,context:v})=>{let c={model:m,method:"get_import_templates",args:[],context:v};return e.requests.post("/call",c,{headers:{"Content-Type":"application/json","X-Node":C}},l)},[e]),a=react.useCallback(async({ids:m,model:l,isShow:C,parentField:v,fieldType:c,parentName:y,prefix:i,name:p,context:b,importCompat:d,service:g,xNode:T})=>{let w={model:l,import_compat:d,domain:[["id","in",m]],with_context:b};return C&&(w.parent_field=v,w.parent_field_type=c,w.parent_name=y,w.name=p,w.prefix=i,w.exclude=[null]),e.requests.post("/export/get_fields",w,{headers:{"Content-Type":"application/json","X-Node":T}},g)},[e]),u=react.useCallback(async({model:m,domain:l,ids:C,fields:v,type:c,importCompat:y,context:i,groupby:p,service:b,xNode:d})=>{let g={model:m,domain:l,ids:C,import_compat:y,fields:v,with_context:i,groupby:p??[]};return e.requests.post_excel(`/export/${c}`,g,{headers:{"Content-Type":"application/json",...d?{"X-Node":d}:{}}},b)},[e]);return {uploadFileExcel:t,uploadIdFile:r,parsePreview:o,executeImport:s,getFileExcel:n,getFieldExport:a,exportExcel:u}}function F(){let{env:e}=G(),t=react.useCallback(async({data:c})=>{let y={thread_id:c.thread_id,thread_model:c.thread_model,limit:100,with_context:{lang:c.lang}};return e.requests.post("/chatter/thread/messages",y,{headers:{"Content-Type":"application/json"}})},[e]),r=react.useCallback(async({data:c,xNode:y,service:i})=>{let p={thread_id:c?.thread_id,thread_model:c?.thread_model,limit:c?.limit,with_context:c?.with_context,request_list:c?.request_list};return e.requests.post("/mail/thread/data",p,{headers:{"Content-Type":"application/json",...y?{"X-Node":y}:{}}},i)},[e]),o=react.useCallback(async({data:c,xNode:y,service:i})=>{let p={thread_id:c?.thread_id,thread_model:c?.thread_model,limit:c?.limit,with_context:c?.with_context};return e.requests.post("/mail/thread/messages",p,{headers:{"Content-Type":"application/json",...y?{"X-Node":y}:{}}},i)},[e]),s=react.useCallback(async({data:c})=>{let y={context:{tz:"Asia/Saigon",uid:2,allowed_company_ids:[1],mail_post_autofollow:false,temporary_id:142183.01},post_data:{body:c.message,message_type:"comment",attachment_ids:c.attachment_ids,attachment_tokens:[],subtype_xmlid:c.subtype},thread_id:Number(c.thread_id),thread_model:c.thread_model};return e.requests.post("/chatter/message/post",y,{headers:{"Content-Type":"application/json"}})},[e]),n=react.useCallback(async({data:c})=>{let y={attachment_ids:[],attachment_tokens:[],body:"",message_id:c.message_id};return e.requests.post("/chatter/message/update_content",y,{headers:{"Content-Type":"application/json"}})},[e]),a=react.useCallback(async({data:c})=>e.requests.get(`/web/image?filename=${c.filename}&unique=${c.checksum}&width=1920&height=300`,{headers:{"Content-Type":"application/json"}}),[e]),u=react.useCallback(async({formData:c,service:y,xNode:i})=>e.requests.post("/mail/attachment/upload",c,{headers:{...i?{"X-Node":i}:{}}},y),[e]),m=react.useCallback(async({formData:c,service:y,xNode:i,path:p})=>e.requests.post(p,c,{headers:{...i?{"X-Node":i}:{}}},y),[e]),l=react.useCallback(async({data:c})=>{let y={model:c.model,method:"get_formview_action",ids:c.id?[c.id]:[],with_context:c.context};return e.requests.post("/call",y,{headers:{"Content-Type":"application/json"}})},[e]),C=react.useCallback(async({data:c})=>{let y={[c.name]:c.stage_id},i={model:c.model,method:"web_save",with_context:{lang:c.lang,allowed_company_ids:[1],uid:2,search_default_my_ticket:true,search_default_is_open:true},ids:[c.id],kwargs:{vals:y,specification:{}}};return e.requests.post("/call",i,{headers:{"Content-Type":"application/json"}})},[e]),v=react.useCallback(async({method:c,context:y,service:i,xNode:p})=>e?.requests?.post("/call",{method:c,with_context:y},{headers:{"Content-Type":"application/json",...p?{"X-Node":p}:{}}},i),[e]);return {getComment:t,sentComment:s,deleteComment:n,getImage:a,uploadImage:u,getFormView:l,changeStatus:C,uploadFile:m,getThreadMessages:o,getThreadData:r,getExternalTab:v}}function z(){let{env:e}=G(),t=react.useCallback(async({model:o,width_context:s})=>{let n={model:o,method:"web_read_group",kwargs:{domain:[["stage_id.fold","=",false]],fields:["color:sum"],groupby:["stage_id"]},width_context:s};return e.requests.post("/call",n,{headers:{"Content-Type":"application/json"}})},[e]),r=react.useCallback(async({field:o,color:s,model:n,width_context:a})=>{let u={model:n,method:"read_progress_bar",kwargs:{domain:[],group_by:"stage_id",progress_bar:{colors:s,field:o}},width_context:a};return e.requests.post("/call",u,{headers:{"Content-Type":"application/json"}})},[e]);return {getGroups:t,getProgressBar:r}}function E(){let{env:e}=G(),t=react.useCallback(async({domain:i,spectification:p,model:b})=>{let d={model:b,method:"web_search_read",kwargs:{specification:p,domain:i,limit:100,offset:0}};return e.requests.post("/call",d,{headers:{"Content-Type":"application/json"}})},[e]),r=react.useCallback(async()=>{let i={model:"res.currency",method:"web_search_read",kwargs:{specification:{icon_url:{},name:{}},domain:[["active","=",true]],limit:100,offset:0}};return e.requests.post("/call",i,{headers:{"Content-Type":"application/json"}})},[e]),o=react.useCallback(async()=>{let i={model:"res.currency",method:"web_search_read",kwargs:{specification:{name:{},icon_url:{},rate_ids:{fields:{company_rate:{},sell:{}}}},domain:[["active","=",true]],limit:100,offset:0}};return e.requests.post("/call",i,{headers:{"Content-Type":"application/json"}})},[e]),s=react.useCallback(async({data:i,service:p,xNode:b,searchParams:d})=>{let g=i.type=="calendar"?{fields:i?.fields}:i.fields&&i.fields.length>0&&i.groupby&&i.groupby.length>0&&i.groupby[0]?{fields:i.fields,groupby:i.groupby}:{count_limit:10001,order:i.sort,specification:i.specification},T={model:String(i.model),method:i.type=="calendar"?"search_read":g.fields&&g.groupby?"web_read_group":"web_search_read",ids:i.ids,with_context:i.context,kwargs:{domain:i.domain,limit:i.limit,offset:i.offset,...g}},w=d?`/call?${chunkQV6QYYJF_cjs.n(d)}`:"/call";return e.requests.post(w,T,{headers:{"Content-Type":"application/json",...b?{"X-Node":b}:{}}},p)},[e]),n=react.useCallback(async({data:i})=>{let p=i.type=="calendar"?i?.fields:i.fields&&i.fields.length>0&&i.groupby&&i.groupby.length>0&&i.groupby[0]?{fields:i.fields,groupby:i.groupby}:{count_limit:10001,order:i.sort,specification:i.specification},b={model:String(i.model),method:i.type=="calendar"?"search_read":p.fields&&p.groupby?"web_read_group":"web_search_read",ids:i.ids,with_context:i.context,kwargs:{domain:i.domain,limit:i.limit,offset:i.offset,fields:i.fields,...p}};return e.requests.post("/call",b,{headers:{"Content-Type":"application/json"}})},[e]),a=react.useCallback(async({model:i,ids:p=[],specification:b={},domain:d=[],offset:g,order:T,context:w={},limit:S=10})=>{let h={model:i,method:"web_search_read",ids:p,with_context:w,kwargs:{specification:b,domain:d,limit:S,offset:g,order:T}};return e.requests.post("/call",h,{headers:{"Content-Type":"application/json"}})},[e]),u=react.useCallback(async({ids:i=[],model:p,specification:b,context:d,service:g,xNode:T})=>{let w={model:p,method:"web_read",ids:i,with_context:d,kwargs:{specification:b}};return e.requests.post("/call",w,{headers:{"Content-Type":"application/json",...T?{"X-Node":T}:{}}},g)},[e]),m=react.useCallback(async({model:i,ids:p=[],data:b={},specification:d={},context:g={},path:T,service:w,xNode:S})=>{let h={model:i,method:"web_save",with_context:g,ids:p,kwargs:{vals:b,specification:d}};return e.requests.post(T??"/call",h,{headers:{"Content-Type":"application/json",...S?{"X-Node":S}:{}}},w)},[e]),l=react.useCallback(async({ids:i=[],model:p,service:b})=>{let d={model:p,method:"unlink",ids:i};return e.requests.post("/call",d,{headers:{"Content-Type":"application/json"}},b)},[e]),C=react.useCallback(async({ids:i=[],model:p,object:b,specification:d,context:g,fieldChange:T,service:w,xNode:S})=>{let h={model:p,method:"onchange",ids:i,with_context:g,args:[b||{},T||[],d]};return e.requests.post("/call",h,{headers:{"Content-Type":"application/json",...S?{"X-Node":S}:{}}},w)},[e]),v=react.useCallback(async({model:i,service:p,xNode:b})=>{let d={model:i,method:"get_fields_onchange"};return e.requests.post("/call",d,{headers:{"Content-Type":"application/json",...b?{"X-Node":b}:{}}},p)},[e]),c=react.useCallback(i=>{for(let p in i)p==="display_name"&&delete i[p],!i[p]&&i[p]!==0&&(i[p]=false);return {...i}},[]),y=react.useCallback((i,p,b)=>{for(let d in i)i[d]===false?p&&b?p?.models?.[b]?.[d]?.type!=="boolean"&&(i[d]=null):i[d]=null:i[d]!==false&&b!==void 0&&(p?.models?.[b]?.[d]?.type==="one2many"||p?.models?.[b]?.[d]?.type==="many2many")&&(i[d]=(i[d]??=[])?.map(g=>{let T=p?.models?.[b]?.[d]?.relation;if(T!==void 0){if(p?.models?.[T])return g?.length>=3?y(g[2],p,T):y(g,p,T);if(g?.length>=3)return g[2];if(g!==0)return g}})?.filter(Boolean));return {...i}},[]);return {getListMyBankAccount:t,getCurrency:r,getConversionRate:o,getAll:s,getListCalendar:n,getList:a,getDetail:u,save:m,deleteApi:l,onChange:C,getListFieldsOnchange:v,parseORMOdoo:c,toDataJS:y}}function W(){let{env:e}=G(),t=react.useCallback(async(s,n,a)=>e?.requests?.get(n||"/userinfo",{headers:a?{...a,"Content-Type":"application/x-www-form-urlencoded"}:{"Content-Type":"application/x-www-form-urlencoded"}},s),[e]),r=react.useCallback(async({context:s,id:n})=>{let a={model:"res.users",method:"web_read",ids:[n],with_context:s,kwargs:{specification:{display_name:{},image_1920:{},name:{},login:{},email:{},password:{},visible_group_id:{fields:{id:{},display_name:{}}},company_id:{fields:{id:{},display_name:{}}}}}};return e.requests.post("/call",a,{headers:{"Content-Type":"application/json"}})},[e]),o=react.useCallback(async({id:s,values:n,service:a})=>{let u={model:"res.users",domain:[["id","=",s]],values:n};return e?.requests.post(chunkN6RX73K2_cjs.c?.CREATE_UPDATE_PATH,u,{headers:{"Content-Type":"application/json"}},a)},[e]);return {getProfile:t,getUser:r,switchUserLocale:o}}function _(){let{env:e}=G(),t=react.useCallback(async({model:S,views:h,context:P={},options:D={},aid:O,service:V,xNode:Y,searchParams:ne})=>{let _o={load_filters:true,toolbar:true,action_id:O},br={model:S,method:"get_fields_view_v2",kwargs:{views:h,options:{...D,..._o}},with_context:P},Tr=ne?`/call?${chunkQV6QYYJF_cjs.n(ne)}`:"/call";return e?.requests?.post(Tr,br,{headers:{"Content-Type":"application/json",...Y?{"X-Node":Y}:{}}},V)},[e]),r=react.useCallback(async(S,h,P,D)=>{let O={model:"ir.ui.menu",method:"web_search_read",ids:[],with_context:S,kwargs:{specification:h,domain:P??["&",["is_display","=",true],"&",["active","=",true],["parent_id","=",false]]}};return e?.requests?.post("/call",O,{headers:{"Content-Type":"application/json"}},D)},[e]),o=react.useCallback(async(S,h)=>{let P={model:"ir.actions.act_window",method:"web_read",ids:[S],with_context:h,kwargs:{specification:{id:{},name:{},res_model:{},views:{},view_mode:{},mobile_view_mode:{},domain:{},context:{},groups_id:{},search_view_id:{}}}};return e?.requests?.post("/call",P,{headers:{"Content-Type":"application/json"}})},[e]),s=react.useCallback(async({model:S,ids:h,context:P,offset:D,service:O,xNode:V})=>{let Y={model:S,with_context:P,ids:h,field:"sequence",...D>0?{offset:D}:{}};return e?.requests.post("/web/dataset/resequence",Y,{headers:{"Content-Type":"application/json",...V?{"X-Node":V}:{}}},O)},[e]),n=react.useCallback(async({data:S,service:h,xNode:P})=>{let D={model:S.model,ids:[],method:"get_data_select",with_context:S.context,kwargs:{count_limit:10001,domain:S.domain?S.domain:[],offset:0,order:"",specification:S?.specification??{id:{},name:{},display_name:{}}}};return e?.requests.post("/call",D,{headers:{"Content-Type":"application/json",...P?{"X-Node":P}:{}}},h)},[e]),a=react.useCallback(async()=>e.requests.post("/load_message_failures",{},{headers:{"Content-Type":"application/json"}}),[e]),u=react.useCallback(async()=>e?.requests?.get("",{headers:{"Content-Type":"application/json"}}),[e]),m=react.useCallback(async({redirect_uri:S,state:h,client_id:P,scopes:D})=>{let O={redirect_uri:S,state:h,client_id:P,scopes:D};return e?.requests.post("/grant-access",O,{headers:{"Content-Type":"application/json"},withCredentials:true},"id")},[e]),l=react.useCallback(async({method:S,token:h})=>{let P={method:S,with_context:{token:h}};return e?.requests.post("/call",P,{headers:{"Content-Type":"application/json"}},"id")},[e]),C=react.useCallback(async({method:S,token:h})=>{let P={method:S,with_context:{token:h}};return e?.requests.post("/call",P,{headers:{"Content-Type":"application/json"}},"id")},[e]),v=react.useCallback(async({method:S,model:h,kwargs:P,token:D})=>{let O={method:S,model:h,kwargs:P,with_context:{token:D}};return e?.requests.post("/call",O,{headers:{"Content-Type":"application/json"}},"id")},[e]),c=react.useCallback(async({redirect_uri:S,state:h,client_id:P,response_type:D,path:O,scope:V})=>{let ne=`${new URLSearchParams({response_type:D,client_id:P,redirect_uri:S,state:h}).toString()}&scope=${encodeURIComponent(V)}`,_o=`${O}?${ne}`;return e?.requests.get(_o,{headers:{"Content-Type":"application/json"},withCredentials:true},"id")},[e]),y=react.useCallback(({method:S,with_context:h,code:P,device:D,location:O})=>{let V={method:S,kwargs:{vals:{code:P,device:D,location:O}},with_context:h};return e?.requests.post("/call",V,{headers:{"Content-Type":"application/json"},withCredentials:true},"id")},[e]),i=react.useCallback(({method:S,with_context:h})=>{let P={method:S,with_context:h};return e?.requests.post("/call",P,{headers:{"Content-Type":"application/json"}},"id")},[e]),p=react.useCallback(({method:S,action_token:h,code:P})=>{let D={method:S,kwargs:{vals:{code:P}},with_context:{action_token:h}};return e?.requests.post("/call",D,{headers:{"Content-Type":"application/json"}})},[e]),b=react.useCallback(async({service:S,xNode:h,body:P})=>e?.requests?.post("/mail/data",P,{headers:{"Content-Type":"application/json",...h?{"X-Node":h}:{}}},S),[e]),d=react.useCallback(async({service:S,xNode:h,ids:P,kwargs:D})=>{let O={model:"res.country",ids:P,method:"get_data_select",kwargs:D};return e?.requests?.post("/call",O,{headers:{"Content-Type":"application/json",...h?{"X-Node":h}:{}}},S)},[e]),g=react.useCallback(async({service:S,xNode:h,ids:P,kwargs:D})=>{let O={model:"res.country.state",ids:P,method:"get_data_select",kwargs:D};return e?.requests?.post("/call",O,{headers:{"Content-Type":"application/json",...h?{"X-Node":h}:{}}},S)},[e]),T=react.useCallback(async({service:S,xNode:h,kwargs:P})=>{let D={model:"res.country.ward",method:"get_data_select",kwargs:P};return e?.requests?.post("/call",D,{headers:{"Content-Type":"application/json",...h?{"X-Node":h}:{}}},S)},[e]),w=react.useCallback(async({service:S,xNode:h,kwargs:P,withContext:D})=>{let O={model:"res.partner.title",method:"get_data_select",kwargs:P,with_context:D};return e?.requests?.post("/call",O,{headers:{"Content-Type":"application/json",...h?{"X-Node":h}:{}}},S)},[e]);return {getView:t,getMenu:r,getActionDetail:o,getResequence:s,getSelectionItem:n,loadMessages:a,getVersion:u,grantAccess:m,removeTotpSetUp:l,requestSetupTotp:C,settingsWebRead2fa:v,signInSSO:c,verify2FA:y,get2FAMethods:i,verifyTotp:p,getNotifications:b,getCountry:d,getCity:g,getWard:T,getPartnerTitle:w}}function J(){let{env:e}=G(),t=react.useCallback(async({service:o,xNode:s,body:n})=>e.requests.post("/read_group",n,{headers:{"Content-Type":"application/json","X-Node":s}},o),[e]),r=react.useCallback(async({service:o,xNode:s,body:n,path:a,method:u="POST"})=>{let m={"Content-Type":"application/json","X-Node":s};return u==="GET"?e.requests.get(a,{headers:m},o):e.requests.post(a,n,{headers:m},o)},[e]);return {readGroup:t,getDataChart:r}}var Io=e=>({getASession:react.useCallback(async({model:r,args:o,domain:s,service:n,xNode:a})=>{let u={model:r,method:"web_search_read",args:o,kwargs:{domain:[s],specification:{name:{},user_id:{},config_id:{},start_at:{},stop_at:{},sequence_number:{},login_number:{},payment_method_ids:{},state:{},update_stock_at_closing:{},cash_register_balance_start:{}}}};return e?.requests.post("/call",u,{headers:{"Content-Type":"application/json",...a?{"X-Node":a}:{}}},n)},[e])});var Ho=e=>({addEntity:react.useCallback(({model:r,values:o,xNode:s,service:n,isCreateEndpoint:a=false,isSupa:u=false,supaCallback:m})=>{if(u&&m)return m(o);let l={model:r,values:o};return e?.requests.post(a?"/create":"/call",l,{headers:{"Content-Type":"application/json",...s?{"X-Node":s}:{}}},n)},[e])});var Vo=e=>({changeOrderPreparationState:react.useCallback(({orderId:r,stageId:o,preparationDisplayId:s,xNode:n,service:a})=>{let u={model:"pos_preparation_display.order",method:"change_order_stage",ids:r,kwargs:{stage_id:o,preparation_display_id:s}};return e?.requests.post("/call",u,{headers:{"Content-Type":"application/json",...n?{"X-Node":n}:{}}},a)},[e])});var Bo=e=>({checkPayment:react.useCallback(({model:r,ids:o,withContext:s,xNode:n,service:a})=>{let u={model:r,method:"check",ids:o,with_context:s};return e?.requests.post("/call",u,{headers:{"Content-Type":"application/json",...n?{"X-Node":n}:{}}},a)},[e])});var Xo=e=>({createEInvoice:react.useCallback(async({service:r,xNode:o,kwargs:s,ids:n,withContext:a})=>{let u={model:"pos.order",method:"create_e_invoice",kwargs:s,ids:n,with_context:a};return e?.requests?.post("/call",u,{headers:{"Content-Type":"application/json",...o?{"X-Node":o}:{}}},r)},[e])});var Wo=e=>({createEntity:react.useCallback(({model:r,args:o,xNode:s,service:n,isSupa:a=false,supaCallback:u})=>{if(a&&u)return u(o);let m={model:r,method:"create",args:o};return e?.requests.post("/call",m,{headers:{"Content-Type":"application/json",...s?{"X-Node":s}:{}}},n)},[e])});var Qo=e=>({createPosConfig:react.useCallback(({model:r,name:o,modulePosRestaurant:s,xNode:n,service:a})=>{let u={model:r,values:{name:o,module_pos_restaurant:s}};return e?.requests.post("/create",u,{headers:{"Content-Type":"application/json",...n?{"X-Node":n}:{}}},a)},[e])});var Ko=e=>({createSession:react.useCallback(({model:r,configId:o,xNode:s,service:n})=>{let a={model:r,method:"create",args:[{config_id:o}]};return e?.requests.post("/call",a,{headers:{"Content-Type":"application/json",...s?{"X-Node":s}:{}}},n)},[e])});var $o=e=>({deleteEntity:react.useCallback(({model:r,ids:o,xNode:s,service:n,method:a,isSupa:u=false,supaCallback:m})=>{if(u&&m)return m(o);let l={model:r,ids:o,method:a};return e?.requests.post("/call",l,{headers:{"Content-Type":"application/json",...s?{"X-Node":s}:{}}},n)},[e])});var zo=e=>({generatePaymentQRInfo:react.useCallback(({orderId:r,amount:o,posSessionId:s,xNode:n,service:a})=>{let u={order_id:r,amount:o,pos_session_id:s};return e?.requests.post("/payment/qr",u,{headers:{"Content-Type":"application/json",...n?{"X-Node":n}:{}}},a)},[e])});var Jo=e=>({getCurrentUser:react.useCallback(async({service:r,xNode:o,oauthUid:s,extraHeaders:n})=>e?.requests?.get(`/public/user/info/${s}`,{headers:n?{...n,"Content-Type":"application/json",...o?{"X-Node":o}:{}}:{"Content-Type":"application/json",...o?{"X-Node":o}:{}}},r),[e])});var Yo=e=>({getList:react.useCallback(async({model:r,domain:o,xNode:s,service:n,specification:a,offset:u,limit:m})=>{let l={model:r,method:"web_search_read",kwargs:chunkQV6QYYJF_cjs.o({domain:o,offset:u,limit:m,specification:a})};return e?.requests.post("/call",l,{headers:{"Content-Type":"application/json",...s?{"X-Node":s}:{}}},n)},[e])});var Zo=e=>({getOrderLine:react.useCallback(({model:r,ids:o,specification:s,xNode:n,service:a})=>{let u={model:r,method:"web_read",ids:o,kwargs:{specification:s}};return e?.requests.post("/call",u,{headers:{"Content-Type":"application/json",...n?{"X-Node":n}:{}}},a)},[e])});var er=e=>({getPinCode:react.useCallback(({serialNumber:r,xNode:o,service:s})=>{let n={serial_number:r};return e?.requests.post("/pos_device/get_pin_code",n,{headers:{"Content-Type":"application/json",...o?{"X-Node":o}:{}}},s)},[e])});var tr=e=>({getPOS:react.useCallback(({model:r,args:o,domain:s,xNode:n,service:a})=>{let u={model:r,method:"web_search_read",args:o,kwargs:{domain:s,specification:{cash_control:{},current_session_id:{fields:{display_name:{}}},current_session_state:{},pos_session_state:{},pos_session_duration:{},currency_id:{fields:{display_name:{}}},name:{},pos_session_username:{},last_session_closing_date:{},last_session_closing_cash:{},number_of_rescue_session:{},current_user_id:{fields:{display_name:{}}},customer_display_type:{},module_pos_restaurant:{}}}};return e?.requests.post("/call",u,{headers:{"Content-Type":"application/json",...n?{"X-Node":n}:{}}},a)},[e])});var or=e=>({getPreparationDisplayData:react.useCallback(({ids:r,xNode:o,service:s,withContext:n})=>{let a={model:"pos_preparation_display.display",method:"get_preparation_display_data",ids:r,with_context:n};return e?.requests.post("/call",a,{headers:{"Content-Type":"application/json",...o?{"X-Node":o}:{}}},s)},[e])});var rr=e=>({getProductImage:react.useCallback(({model:r,fields:o,limit:s,offset:n,domain:a,xNode:u,service:m,searchParams:l})=>{let C={model:r,fields:o,limit:s,offset:n,domain:a},v=l?`/search_read?${chunkQV6QYYJF_cjs.n(l)}`:"/search_read";return e?.requests.post(v,C,{headers:{"Content-Type":"application/json",...u?{"X-Node":u}:{}}},m)},[e])});var sr=e=>({handleCloseSession:react.useCallback(({model:r,ids:o,xNode:s,service:n,method:a})=>{let u={model:r,ids:o,method:a};return e?.requests.post("/call",u,{headers:{"Content-Type":"application/json",...s?{"X-Node":s}:{}}},n)},[e])});var nr=e=>({handleClosingDetailSession:react.useCallback(({model:r,ids:o,method:s,xNode:n,service:a,kwargs:u})=>{let m={model:r,ids:o,method:s,kwargs:u};return e?.requests.post("/call",m,{headers:{"Content-Type":"application/json",...n?{"X-Node":n}:{}}},a)},[e])});var ar=e=>({handleClosingSession:react.useCallback(({model:r,method:o,ids:s,kwargs:n,xNode:a,service:u})=>{let m={model:r,method:o,ids:s,kwargs:n};return e?.requests.post("/call",m,{headers:{"Content-Type":"application/json",...a?{"X-Node":a}:{}}},u)},[e])});var bo=(e,t=[])=>({modelName:e,data:t,fields:{},relations:{}}),ur=e=>{let t=L(),r=react.useCallback(async({model:s,ids:n,xNode:a,service:u,withContext:m,modelsToLoad:l=[],searchParams:C})=>{let v={model:s,method:"load_data",ids:n,with_context:m||{uid:37,lang:"vi_VN",tz:"Asia/Saigon"},kwargs:{models_to_load:l}},c=C?`/call?${chunkQV6QYYJF_cjs.n(C)}`:"/call";return e?.requests.post(c,v,{headers:{"Content-Type":"application/json",...a?{"X-Node":a}:{}}},u)},[e]),o=react.useCallback(async()=>{if(!t)return {};try{let s=Object.values(chunkQWAB6OBZ_cjs.d);return (await Promise.all(s.map(async a=>{let u=chunkQWAB6OBZ_cjs.f[a];if(!u)return bo(a);let{data:m,error:l}=await t.from(u).select("*");return l?(console.error(`Error loading ${a}:`,l),bo(a)):bo(a,m||[])}))).reduce((a,{modelName:u,...m})=>(a[u]=m,a),{})}catch(s){return console.error("Error loading data from Supabase:",s),{}}},[t]);return {loadDataPosSession:r,loadDataPosSessionSupabase:o}};var pr=e=>({manageOnChange:react.useCallback(({model:r,ids:o,args:s,xNode:n,service:a})=>{let u={model:r,method:"onchange",ids:o,args:s};return e?.requests.post("/call",u,{headers:{"Content-Type":"application/json",...n?{"X-Node":n}:{}}},a)},[e])});var cr=e=>({manageSession:react.useCallback(({model:r,method:o,ids:s,args:n,kwargs:a,xNode:u,service:m})=>{let l={model:r,method:o,ids:s,args:n,kwargs:a};return e?.requests.post("/call",l,{headers:{"Content-Type":"application/json",...u?{"X-Node":u}:{}}},m)},[e])});var mr=e=>({processOrder:react.useCallback(({orderId:r,xNode:o,service:s})=>{let n={model:"pos_preparation_display.order",method:"process_order",kwargs:{order_id:r}};return e?.requests.post("/call",n,{headers:{"Content-Type":"application/json",...o?{"X-Node":o}:{}}},s)},[e])});var dr=e=>({savePinCode:react.useCallback(({serialNumber:r,pinCode:o,xNode:s,service:n})=>{let a={serial_number:r,pin_code:o};return e?.requests.put("/pos_device/pin",a,{headers:{"Content-Type":"application/json",...s?{"X-Node":s}:{}}},n)},[e])});var lr=e=>({searchJournal:react.useCallback(({model:r,method:o,args:s,kwargs:n,xNode:a,service:u})=>{let m={model:r,method:o,args:s,kwargs:n};return e?.requests.post("/call",m,{headers:{"Content-Type":"application/json",...a?{"X-Node":a}:{}}},u)},[e])});var fr=e=>({updateClosedSession:react.useCallback(({model:r,domain:o,values:s,service:n,xNode:a})=>{let u={model:r,domain:o,values:s};return e?.requests.post("/create_update",u,{headers:{"Content-Type":"application/json",...a?{"X-Node":a}:{}}},n)},[e])});var yr=e=>({updateEntity:react.useCallback(({model:r,domain:o,values:s,isCreateEndpoint:n=true,xNode:a,service:u,isSupa:m=false,supaCallback:l})=>{if(m&&l)return l(s);let C={model:r,domain:o,values:s};return e?.requests.post(n?"/create_update":"/call",C,{headers:{"Content-Type":"application/json",...a?{"X-Node":a}:{}}},u)},[e])});var gr=e=>({updateOrderStatus:react.useCallback(({orderId:r,state:o,xNode:s,service:n})=>{let a={order_id:r,state:o};return e?.requests.put("/pos-order/status",a,{headers:{"Content-Type":"application/json",...s?{"X-Node":s}:{}}},n)},[e])});var Sr=e=>({completeCurrentStage:react.useCallback(({ids:r,withContext:o,xNode:s,service:n,requestStageId:a})=>{let u={model:"pos_preparation_display.orderline",method:"complete_current_stage",ids:r,kwargs:{request_stage_id:a},with_context:o||{lang:"vi_VN",tz:"Asia/Ho_Chi_Minh",uid:2}};return e?.requests.post("/call",u,{headers:{"Content-Type":"application/json",...s?{"X-Node":s}:{}}},n)},[e])});var Z=()=>{let e=L();return {addFloorSupabase:react.useCallback(async r=>{if(!e)return console.error("Supabase client not initialized"),null;try{let{data:o,error:s}=await e.from("restaurant_floors").insert({name:r.name,sequence:r.sequence??1,pos_config_ids:r.pos_config_ids??[],table_ids:r.table_ids??[]}).select("id, name").single();return s?(console.error("Error adding floor:",s),null):[[o.id,o.name]]}catch(o){return console.error("Error adding floor:",o),null}},[e])}};var ee=()=>{let e=L();return {addTableSupabase:react.useCallback(async r=>{if(!e)return console.error("Supabase client not initialized"),null;try{let{data:o,error:s}=await e.from("restaurant_tables").insert({floor_id:r.floor_id,table_number:r.table_number??0,seats:r.seats??1}).select("id, table_number").single();return s?(console.error("Error adding table:",s),null):[[o.id,o.table_number]]}catch(o){return console.error("Error adding table:",o),null}},[e])}};var te=()=>{let e=L();return {updateFloorSupabase:react.useCallback(async r=>{if(!e)return console.error("Supabase client not initialized"),false;try{let{id:o,...s}=r,{error:n}=await e.from("restaurant_floors").update(s).eq("id",o);return n?(console.error("Error updating floor:",n),!1):!0}catch(o){return console.error("Error updating floor:",o),false}},[e])}};var oe=()=>{let e=L();return {updateTableSupabase:react.useCallback(async r=>{if(!e)return console.error("Supabase client not initialized"),false;try{let{id:o,...s}=r,{error:n}=await e.from("restaurant_tables").update(s).eq("id",o);return n?(console.error("Error updating table:",n),!1):!0}catch(o){return console.error("Error updating table:",o),false}},[e])}};var re=()=>{let e=L();return {deleteFloorSupabase:react.useCallback(async r=>{if(!e)return console.error("Supabase client not initialized"),false;try{let{error:o}=await e.from("restaurant_floors").delete().eq("id",r.id);return o?(console.error("Error deleting floor:",o),!1):!0}catch(o){return console.error("Error deleting floor:",o),false}},[e])}};var se=()=>{let e=L();return {deleteTableSupabase:react.useCallback(async r=>{if(!e)return console.error("Supabase client not initialized"),false;try{let{error:o}=await e.from("restaurant_tables").delete().eq("id",r.id);return o?(console.error("Error deleting table:",o),!1):!0}catch(o){return console.error("Error deleting table:",o),false}},[e])}};var _s=[Ho,Io,Vo,Bo,Xo,Wo,Qo,Ko,$o,zo,Jo,Yo,Zo,er,tr,or,rr,sr,nr,ar,ur,pr,cr,mr,dr,lr,fr,yr,gr,Sr,Z,ee,te,oe,re,se],f=()=>{let{env:e}=G(),t={};for(let r of _s){let o=r(e);Object.assign(t,o);}return t};var vs=()=>{let{forgotPassword:e}=A();return reactQuery.useMutation({mutationFn:t=>e(t)})},ie=vs;var Ts=()=>{let{forgotPasswordSSO:e}=A();return reactQuery.useMutation({mutationFn:({email:t,with_context:r,method:o})=>e({email:t,with_context:r,method:o})})},ue=Ts;var As=()=>{let{getProviders:e}=A();return reactQuery.useMutation({mutationFn:t=>e(t?.db)})},pe=As;var Es=()=>{let{isValidToken:e}=A();return reactQuery.useMutation({mutationFn:t=>e(t)})},ce=Es;var Ds=()=>{let{login:e}=A();return reactQuery.useMutation({mutationFn:t=>e(t)})},me=Ds;var Ls=()=>{let{loginSocial:e}=A();return reactQuery.useMutation({mutationFn:t=>e(t)})},de=Ls;var Os=()=>{let{loginSupabase:e}=A();return reactQuery.useMutation({mutationFn:t=>e({email:t.email,password:t.password})})},le=Os;var qs=()=>{let{resetPassword:e}=A();return reactQuery.useMutation({mutationFn:t=>e(t.data,t.token)})},fe=qs;var Us=()=>{let{resetPasswordSSO:e}=A();return reactQuery.useMutation({mutationFn:({method:t,password:r,with_context:o})=>e({method:t,password:r,with_context:o})})},ye=Us;var js=()=>{let{updatePassword:e}=A();return reactQuery.useMutation({mutationFn:t=>e(t.data,t.token)})},ge=js;var Hs=()=>{let{logout:e}=A();return reactQuery.useMutation({mutationFn:t=>e(t)})},Se=Hs;var Bs=()=>{let{getAccessByCode:e}=A();return reactQuery.useMutation({mutationFn:({code:t})=>e(t)})},Ce=Bs;var Ws=()=>{let{isValidActionToken:e}=A();return reactQuery.useMutation({mutationFn:({actionToken:t})=>e(t)})},he=Ws;var Ks=()=>{let{getTenantMapping:e}=A();return reactQuery.useMutation({mutationFn:({shortName:t,service:r})=>e({shortName:t,service:r})})},_e=Ks;var zs=()=>{let{getToken:e}=A();return reactQuery.useMutation({mutationFn:({phone:t,name:r,service:o,xNode:s})=>e({phone:t,name:r,service:o,xNode:s})})},xe=zs;var Ys=()=>{let{getInfoCompany:e}=$();return reactQuery.useMutation({mutationFn:({service:t,id:r})=>e(r,t)})},ve=Ys;var en=()=>{let{getCurrentCompany:e}=$();return reactQuery.useMutation({mutationFn:({service:t,extraHeaders:r})=>e(t,r)})},be=en;var on=(e=[])=>{let{getList:t}=E(),r={id:{},name:{}},o={model:"res.company",ids:e,specification:r};return reactQuery.useQuery({queryKey:["list_company",e],queryFn:()=>t(o),refetchOnWindowFocus:false})},Te=on;var sn=()=>{let{exportExcel:e}=N();return reactQuery.useMutation({mutationFn:({model:t,domain:r,ids:o,fields:s,type:n,importCompat:a,context:u,groupby:m,service:l,xNode:C})=>e({model:t,domain:r,ids:o,fields:s,type:n,importCompat:a,context:u,groupby:m,service:l,xNode:C})})},Pe=sn;var an=()=>{let{getFieldExport:e}=N();return reactQuery.useMutation({mutationFn:({ids:t,model:r,isShow:o,parentField:s,fieldType:n,parentName:a,prefix:u,name:m,context:l,importCompat:C,service:v,xNode:c})=>e({ids:t,model:r,isShow:o,parentField:s,fieldType:n,parentName:a,prefix:u,name:m,context:l,importCompat:C,service:v,xNode:c})})},Ae=an;var pn=({model:e,service:t,xNode:r,context:o})=>{let{getFileExcel:s}=N();return reactQuery.useQuery({queryKey:["excel",e],queryFn:()=>s({model:e,service:t,xNode:r,context:o}).then(n=>n||[]),refetchOnWindowFocus:false})},Ge=pn;var mn=()=>{let{parsePreview:e}=N();return reactQuery.useMutation({mutationFn:({id:t,selectedSheet:r,isHeader:o,context:s,service:n,xNode:a})=>e({id:t,selectedSheet:r,isHeader:o,context:s,service:n,xNode:a})})},Ee=mn;var ln=()=>{let{uploadFileExcel:e}=N();return reactQuery.useMutation({mutationFn:({formData:t,service:r,xNode:o})=>e({formData:t,service:r,xNode:o})})},we=ln;var yn=()=>{let{uploadIdFile:e}=N();return reactQuery.useMutation({mutationFn:({formData:t,service:r,xNode:o})=>e({formData:t,service:r,xNode:o})})},De=yn;var Sn=()=>{let{executeImport:e}=N();return reactQuery.useMutation({mutationFn:({fields:t,columns:r,idFile:o,options:s,dryrun:n,context:a,service:u,xNode:m})=>e({fields:t,columns:r,idFile:o,options:s,dryrun:n,context:a,service:u,xNode:m})})},Fe=Sn;var hn=()=>{let{changeStatus:e}=F();return reactQuery.useMutation({mutationFn:({data:t})=>e({data:t})})},Le=hn;var xn=()=>{let{deleteComment:e}=F();return reactQuery.useMutation({mutationFn:({data:t})=>e({data:t})})},Me=xn;var bn=({data:e,queryKey:t})=>{let{getComment:r}=F();return reactQuery.useQuery({queryKey:t,queryFn:()=>r({data:e}).then(o=>{if(o)return o}),enabled:!!e.thread_id&&!isNaN(e.thread_id),refetchOnWindowFocus:false})},Oe=bn;var Pn=({data:e,queryKey:t,enabled:r})=>{let{getFormView:o}=F();return reactQuery.useQuery({queryKey:t,queryFn:()=>o({data:e}).then(s=>{if(s)return s}),enabled:r,refetchOnWindowFocus:false})},Re=Pn;var Gn=()=>{let{sentComment:e}=F();return reactQuery.useMutation({mutationFn:({data:t})=>e({data:t})})},qe=Gn;var wn=()=>{let{uploadImage:e}=F();return reactQuery.useMutation({mutationFn:({formData:t,service:r,xNode:o})=>e({formData:t,service:r,xNode:o})})},Ne=wn;var Fn=()=>{let{uploadFile:e}=F();return reactQuery.useMutation({mutationFn:({formData:t,service:r,xNode:o,path:s})=>e({formData:t,service:r,xNode:o,path:s})})},Ue=Fn;var Mn=({data:e,queryKey:t,enabled:r,service:o,xNode:s})=>{let{getThreadData:n}=F();return reactQuery.useQuery({queryKey:t,queryFn:()=>n({data:e,service:o,xNode:s}).then(a=>{if(a)return a}),enabled:r,refetchOnWindowFocus:false})},ke=Mn;var Rn=({data:e,queryKey:t,enabled:r,service:o,xNode:s})=>{let{getThreadMessages:n}=F();return reactQuery.useQuery({queryKey:t,queryFn:()=>n({data:e,service:o,xNode:s}).then(a=>{if(a)return a}),enabled:r,refetchOnWindowFocus:false})},je=Rn;var Nn=({data:e,queryKey:t,enabled:r,service:o,xNode:s})=>{let{getExternalTab:n}=F();return reactQuery.useQuery({queryKey:t,queryFn:()=>n({method:e?.method,context:e?.context,service:o,xNode:s}).then(a=>{if(a)return a}),enabled:r,refetchOnWindowFocus:false})},Ie=Nn;var kn=()=>{let{deleteApi:e}=E();return reactQuery.useMutation({mutationFn:({ids:t,model:r,service:o})=>e({ids:t,model:r,service:o})})},He=kn;var In=({data:e,queryKey:t,viewResponse:r})=>{let{getAll:o}=E();return reactQuery.useQuery({queryKey:t,queryFn:()=>o({data:e}).then(s=>{if(s)return s}),enabled:!!e.specification&&!!e.model&&!!e.domain&&!!r,refetchOnWindowFocus:false})},Ve=In;var Vn=()=>{let{getConversionRate:e}=E();return reactQuery.useQuery({queryKey:["currency-rate"],queryFn:()=>e().then(t=>{if(t)return t}),enabled:true})},Be=Vn;var Xn=()=>{let{getCurrency:e}=E();return reactQuery.useQuery({queryKey:["currency"],queryFn:()=>e().then(t=>{if(t)return t}),enabled:true})},Xe=Xn;var Qn=()=>{let{getDetail:e}=E();return reactQuery.useMutation({mutationFn:({model:t,ids:r,specification:o,context:s,service:n,xNode:a})=>e({model:t,ids:r,specification:o,context:s,service:n,xNode:a})})},We=Qn;var $n=({model:e,service:t,xNode:r,enabled:o})=>{let{getListFieldsOnchange:s}=E();return reactQuery.useQuery({queryKey:[`field-onchange-${e}`,e],queryFn:()=>s({model:e,service:t,xNode:r}).then(n=>{if(n)return n}),refetchOnWindowFocus:false,enabled:o,staleTime:1/0})},Qe=$n;var Jn=({domain:e,spectification:t,model:r})=>{let{getListMyBankAccount:o}=E();return reactQuery.useQuery({queryKey:["bank-account",r,e],queryFn:()=>o({domain:e,spectification:t,model:r}).then(s=>{if(s)return s}),enabled:true})},Ke=Jn;var Zn=()=>({initModel:react.useCallback(t=>{switch(t?.name){default:return new chunk24JB4Q7Z_cjs.a(t)}},[])}),$e=Zn;var ea=()=>{let{toDataJS:e,parseORMOdoo:t}=E();return {toDataJS:e,parseORM:t}},ze=ea;var oa=()=>{let{onChange:e}=E();return reactQuery.useMutation({mutationFn:({ids:t,model:r,specification:o,context:s,object:n,fieldChange:a,service:u,xNode:m})=>e({ids:t,model:r,specification:o,context:s,object:n,fieldChange:a,service:u,xNode:m})})},Je=oa;var sa=()=>{let{save:e}=E();return reactQuery.useMutation({mutationFn:({ids:t,model:r,data:o,specification:s,context:n,path:a,service:u,xNode:m})=>e({ids:t,model:r,data:o,specification:s,context:n,path:a,service:u,xNode:m})})},Ye=sa;var aa=(e,t,r)=>{let{getProfile:o}=W();return reactQuery.useMutation({mutationFn:()=>o(e,t,r)})},Ze=aa;var ua=()=>{let{getUser:e}=W();return reactQuery.useMutation({mutationFn:({id:t,context:r})=>e({id:t,context:r})})},et=ua;var ca=()=>{let{switchUserLocale:e}=W();return reactQuery.useMutation({mutationFn:({data:t,service:r})=>e({id:t.data.id,values:t.data.values,service:r})})},tt=ca;var da=()=>{let{callButton:e}=R();return reactQuery.useMutation({mutationFn:({model:t,ids:r,context:o,method:s,service:n,xNode:a})=>e({model:t,ids:r,context:o,method:s,service:n,xNode:a}),onSuccess:t=>t})},ot=da;var fa=()=>{let{duplicateRecord:e}=R();return reactQuery.useMutation({mutationFn:({id:t,model:r,context:o,service:s,xNode:n})=>e({id:t,model:r,context:o,service:s,xNode:n})})},rt=fa;var ga=({aid:e,context:t,enabled:r,id:o,model:s,queryKey:n})=>{let {getActionDetail:a}=_();return reactQuery.useQuery({queryKey:n,queryFn:async()=>{if(e){let m=await a(e,t);if(m&&m.length>0)return m[0]}},enabled:r,refetchOnWindowFocus:false,staleTime:1/0})},st=ga;var Ca=(e,t,r)=>{let{getListCalendar:o}=E();return reactQuery.useQuery({queryKey:t,queryFn:()=>o({data:e}).then(s=>s||[]),enabled:r,refetchOnWindowFocus:false,staleTime:0})},nt=Ca;var _a=({model:e,width_context:t})=>{let{getGroups:r}=z();return reactQuery.useQuery({queryKey:[e,t],queryFn:()=>r({model:e,width_context:t}).then(o=>o||[]),refetchOnWindowFocus:false})},at=_a;var va=(e,t,r,o,s,n)=>{let{getAll:a}=E();return reactQuery.useQuery({queryKey:t,queryFn:()=>a({data:e,service:o,xNode:s,searchParams:n}).then(u=>u||[]),enabled:r,refetchOnWindowFocus:false,staleTime:0})},it=va;var Ta=(e,t,r,o,s)=>{let{getMenu:n}=_();return reactQuery.useQuery({queryKey:["menus",e],queryFn:()=>n(e,t,o,s).then(a=>a&&a?.records&&a?.records?.length>0?a?.records:[]),refetchOnWindowFocus:false,staleTime:1/0,enabled:r})},ut=Ta;var Aa=()=>{let{getPrintReportName:e}=R();return reactQuery.useMutation({mutationFn:({id:t})=>e({id:t})})},pt=Aa;var Ea=({field:e,color:t,model:r,width_context:o})=>{let{getProgressBar:s}=z();return reactQuery.useQuery({queryKey:[],queryFn:()=>s({field:e,color:t,model:r,width_context:o}).then(n=>n||[]),refetchOnWindowFocus:false})},ct=Ea;var Da=({data:e,queryKey:t,enabled:r,service:o,xNode:s})=>{let{getSelectionItem:n}=_();return reactQuery.useQuery({queryKey:t,queryFn:()=>n({data:e,service:o,xNode:s}),enabled:r,refetchOnWindowFocus:false})},mt=Da;var La=({viewParams:e,enabled:t})=>{let{getView:r}=_();return reactQuery.useQuery({queryKey:["get_view_by_action",e?.model,e?.context,e?.aid,...e?.views??[]],queryFn:()=>r(e),enabled:!!t,refetchOnWindowFocus:false,staleTime:1/0})},dt=La;var Oa=()=>{let{loadAction:e}=R();return reactQuery.useMutation({mutationFn:({idAction:t,context:r,service:o,xNode:s,searchParams:n})=>e({idAction:t,context:r,service:o,xNode:s,searchParams:n})})},lt=Oa;var qa=()=>{let{loadMessages:e}=_();return reactQuery.useQuery({queryKey:["load-message-failure"],queryFn:()=>e(),refetchOnWindowFocus:false})},ft=qa;var Ua=()=>{let{print:e}=R();return reactQuery.useMutation({mutationFn:({id:t,report:r,db:o})=>e({id:t,report:r,db:o})})},yt=Ua;var ja=()=>{let{removeRows:e}=R();return reactQuery.useMutation({mutationFn:({model:t,ids:r,context:o,service:s,xNode:n})=>e({model:t,ids:r,context:o,service:s,xNode:n})})},gt=ja;var Ha=()=>{let{getResequence:e}=_();return reactQuery.useMutation({mutationFn:({model:t,resIds:r,context:o,offset:s,xNode:n,service:a})=>e({model:t,ids:r,context:o,offset:s,xNode:n,service:a})})},St=Ha;var Ba=()=>{let{runAction:e}=R();return reactQuery.useMutation({mutationFn:({idAction:t,context:r,service:o,xNode:s,searchParams:n})=>e({idAction:t,context:r,service:o,xNode:s,searchParams:n})})},Ct=Ba;var Wa=()=>{let{signInSSO:e}=_();return reactQuery.useMutation({mutationFn:({redirect_uri:t,state:r,client_id:o,response_type:s,path:n,scope:a})=>e({redirect_uri:t,state:r,client_id:o,response_type:s,path:n,scope:a})})},ht=Wa;var Ka=()=>{let{verify2FA:e}=_();return reactQuery.useMutation({mutationFn:({method:t,with_context:r,code:o,device:s,location:n})=>e({method:t,with_context:r,code:o,device:s,location:n})})},_t=Ka;var za=()=>{let{get2FAMethods:e}=_();return reactQuery.useMutation({mutationFn:({method:t,with_context:r})=>e({method:t,with_context:r})})},xt=za;var Ya=()=>{let{grantAccess:e}=_();return reactQuery.useMutation({mutationFn:({redirect_uri:t,state:r,client_id:o,scopes:s})=>e({redirect_uri:t,state:r,client_id:o,scopes:s})})},vt=Ya;var ei=()=>{let{removeTotpSetUp:e}=_();return reactQuery.useMutation({mutationFn:({method:t,token:r})=>e({method:t,token:r})})},bt=ei;var oi=()=>{let{requestSetupTotp:e}=_();return reactQuery.useMutation({mutationFn:({method:t,token:r})=>e({method:t,token:r})})},Tt=oi;var si=()=>{let{settingsWebRead2fa:e}=_();return reactQuery.useMutation({mutationFn:({method:t,token:r,kwargs:o,model:s})=>e({method:t,model:s,kwargs:o,token:r})})},Pt=si;var ai=()=>{let{verifyTotp:e}=_();return reactQuery.useMutation({mutationFn:({method:t,action_token:r,code:o})=>e({method:t,action_token:r,code:o})})},At=ai;var ui=()=>{let{generateSerialNumber:e}=R();return reactQuery.useMutation({mutationFn:({kwargs:t,context:r,service:o,xNode:s})=>e({kwargs:t,context:r,service:o,xNode:s})})},Gt=ui;var ci=({service:e,xNode:t,body:r,queryKey:o=[],enabled:s})=>{let{getNotifications:n}=_();return reactQuery.useQuery({queryKey:o,queryFn:()=>n({body:r,service:e,xNode:t}).then(a=>a),enabled:s,refetchOnWindowFocus:false})},Et=ci;var di=()=>{let{getVersion:e}=_();return reactQuery.useMutation({mutationFn:()=>e()})},wt=di;var fi=()=>{let{getWard:e}=_();return reactQuery.useMutation({mutationFn:({service:t,xNode:r,kwargs:o})=>e({service:t,xNode:r,kwargs:o})})},Dt=fi;var gi=()=>{let{getCity:e}=_();return reactQuery.useMutation({mutationFn:({service:t,xNode:r,ids:o,kwargs:s})=>e({service:t,xNode:r,ids:o,kwargs:s})})},Ft=gi;var Ci=()=>{let{getCountry:e}=_();return reactQuery.useMutation({mutationFn:({service:t,xNode:r,ids:o,kwargs:s})=>e({service:t,xNode:r,ids:o,kwargs:s})})},Lt=Ci;var _i=()=>{let{getPartnerTitle:e}=_();return reactQuery.useMutation({mutationFn:({service:t,xNode:r,kwargs:o,withContext:s})=>e({service:t,xNode:r,kwargs:o,withContext:s})})},Mt=_i;var vi=(e,t,r,o)=>{let{readGroup:s}=J();return reactQuery.useQuery({queryKey:[r],queryFn:()=>s({service:e,xNode:t,body:r}),refetchOnWindowFocus:false,enabled:o})},Ot=vi;var Ti=(e,t,r,o,s,n,a)=>{let{getDataChart:u}=J();return reactQuery.useQuery({queryKey:[a],queryFn:()=>u({service:e,xNode:t,body:r,path:s,method:n}),refetchOnWindowFocus:false,enabled:o})},Rt=Ti;var Ai=()=>{let{addEntity:e}=f();return reactQuery.useMutation({mutationFn:e})},qt=Ai;var Ei=()=>{let e=f();return reactQuery.useMutation({mutationFn:e.getASession})},Nt=Ei;var Di=()=>{let e=f();return reactQuery.useMutation({mutationFn:e.changeOrderPreparationState})},Ut=Di;var Li=()=>{let e=f();return reactQuery.useMutation({mutationFn:e.checkPayment})},kt=Li;var Oi=()=>{let e=f();return reactQuery.useMutation({mutationFn:e.createEInvoice})},jt=Oi;var qi=()=>{let e=f();return reactQuery.useMutation({mutationFn:e.createEntity})},It=qi;var Ui=()=>{let e=f();return reactQuery.useMutation({mutationFn:e.createPosConfig})},Ht=Ui;var ji=()=>{let e=f();return reactQuery.useMutation({mutationFn:e.createSession})},Vt=ji;var Hi=()=>{let e=f();return reactQuery.useMutation({mutationFn:e.deleteEntity})},Bt=Hi;var Bi=()=>{let e=f();return reactQuery.useMutation({mutationFn:e.generatePaymentQRInfo})},Xt=Bi;var Wi=()=>{let e=f();return reactQuery.useMutation({mutationFn:e.getCurrentUser})},Wt=Wi;var Ki=()=>{let e=f();return reactQuery.useMutation({mutationFn:e.getList})},Qt=Ki;var zi=()=>{let e=f();return reactQuery.useMutation({mutationFn:e.getOrderLine})},Kt=zi;var Yi=()=>{let e=f();return reactQuery.useMutation({mutationFn:e.getPinCode})},$t=Yi;var eu=()=>{let e=f();return reactQuery.useMutation({mutationFn:e.getPOS})},zt=eu;var ou=()=>{let e=f();return reactQuery.useMutation({mutationFn:e.getPreparationDisplayData})},Jt=ou;var su=()=>{let e=f();return reactQuery.useMutation({mutationFn:e.getProductImage})},Yt=su;var au=()=>{let e=f();return reactQuery.useMutation({mutationFn:e.handleCloseSession})},Zt=au;var uu=()=>{let e=f();return reactQuery.useMutation({mutationFn:e.handleClosingDetailSession})},eo=uu;var cu=()=>{let e=f();return reactQuery.useMutation({mutationFn:e.handleClosingSession})},to=cu;var du=()=>{let e=f(),{env:t}=G();return reactQuery.useMutation({mutationFn:t.isSupaMode?e.loadDataPosSessionSupabase:e.loadDataPosSession})},oo=du;var fu=()=>{let e=f();return reactQuery.useMutation({mutationFn:e.manageOnChange})},ro=fu;var gu=()=>{let e=f();return reactQuery.useMutation({mutationFn:e.manageSession})},so=gu;var Cu=()=>{let e=f();return reactQuery.useMutation({mutationFn:e.processOrder})},no=Cu;var _u=()=>{let e=f();return reactQuery.useMutation({mutationFn:e.savePinCode})},ao=_u;var vu=()=>{let e=f();return reactQuery.useMutation({mutationFn:e.searchJournal})},io=vu;var Tu=()=>{let e=f();return reactQuery.useMutation({mutationFn:e.updateClosedSession})},uo=Tu;var Au=()=>{let e=f();return reactQuery.useMutation({mutationFn:e.updateEntity})},po=Au;var Eu=()=>{let e=f();return reactQuery.useMutation({mutationFn:e.updateOrderStatus})},co=Eu;var Du=()=>{let e=f();return reactQuery.useMutation({mutationFn:e.completeCurrentStage})},mo=Du;var To=()=>{let e=L();return {createOrderSupabase:react.useCallback(async r=>{if(!e)return console.error("Supabase client not initialized"),null;try{let{data:o,error:s}=await e.from("orders").insert({name:r.pos_reference,date_order:new Date().toISOString(),session_id:r.session_id,pos_reference:r.pos_reference,amount_tax:r.amount_tax,amount_total:r.amount_total,amount_paid:r.amount_paid,amount_return:r.amount_return,table_id:r.table_id,partner_id:r.partner_id}).select("id, pos_reference").single();return s?(console.error("Error creating order:",s),null):[[o.id,o.pos_reference]]}catch(o){return console.error("Error creating order:",o),null}},[e])}};var Mu=()=>{let{addFloorSupabase:e}=Z();return reactQuery.useMutation({mutationFn:e})},lo=Mu;var Ru=()=>{let{addTableSupabase:e}=ee();return reactQuery.useMutation({mutationFn:e})},fo=Ru;var Nu=()=>{let{updateFloorSupabase:e}=te();return reactQuery.useMutation({mutationFn:e})},yo=Nu;var ku=()=>{let{updateTableSupabase:e}=oe();return reactQuery.useMutation({mutationFn:e})},go=ku;var Iu=()=>{let{deleteFloorSupabase:e}=re();return reactQuery.useMutation({mutationFn:e})},So=Iu;var Vu=()=>{let{deleteTableSupabase:e}=se();return reactQuery.useMutation({mutationFn:e})},Co=Vu;var Xu=()=>{let{createOrderSupabase:e}=To();return reactQuery.useMutation({mutationFn:e})},ho=Xu;var hr=react.createContext(null),_r=({children:e})=>{let t={useForgotPassword:ie,useForgotPasswordSSO:ue,useGetProvider:pe,useIsValidToken:ce,useLoginCredential:me,useLoginSocial:de,useResetPassword:fe,useResetPasswordSSO:ye,useUpdatePassword:ge,useLogout:Se,useGetAccessByCode:Ce,useValidateActionToken:he,useGetCompanyInfo:ve,useGetCurrentCompany:be,useGetListCompany:Te,useExecuteImport:Fe,useExportExcel:Pe,useGetFieldExport:Ae,useGetFileExcel:Ge,useParsePreview:Ee,useUploadFileExcel:we,useUploadIdFile:De,useChangeStatus:Le,useDeleteComment:Me,useGetComment:Oe,useGetFormView:Re,useSendComment:qe,useUploadImage:Ne,useDelete:He,useGetAll:Ve,useGetConversionRate:Be,useGetCurrency:Xe,useGetDetail:We,useGetFieldOnChange:Qe,useGetListMyBankAccount:Ke,useModel:$e,useOdooDataTransform:ze,useOnChangeForm:Je,useSave:Ye,useGetProfile:Ze,useGetUser:et,useSwitchLocale:tt,useButton:ot,useDuplicateRecord:rt,useGet2FAMethods:xt,useGetActionDetail:st,useGetCalendar:nt,useGetGroups:at,useGetListData:it,useGetMenu:ut,useGetPrintReport:pt,useGetProGressBar:ct,useGetResequence:St,useGetSelection:mt,useGetView:dt,useLoadAction:lt,useLoadMessage:ft,usePrint:yt,useRemoveRow:gt,useRunAction:Ct,useSignInSSO:ht,useVerify2FA:_t,useGrantAccess:vt,useRemoveTotpSetup:bt,useRequestSetupTotp:Tt,useSettingsWebRead2fa:Pt,useVerifyTotp:At,useUploadFile:Ue,useCreateEntity:It,useGetASession:Nt,useCreateSession:Vt,useDeleteEntity:Bt,useGetList:Qt,useGetPos:zt,useHandleClosingSession:to,useManageSession:so,useUpdateClosedSession:uo,useUpdateEntity:po,useLoadDataPosSession:oo,useManageOnChange:ro,useGenSerialNumber:Gt,useGetOrderLine:Kt,useGetProductImage:Yt,useAddEntity:qt,useCheckPayment:kt,useHandleCloseSession:Zt,useHandleClosingDetailSession:eo,useCreatePosConfig:Ht,useSearchJournal:io,useGetTenantMapping:_e,useGetToken:xe,useGetPreparationDisplayData:Jt,useChangeOrderPreparationState:Ut,useUpdateOrderStatus:co,useGetThreadData:ke,useGetThreadMessages:je,useGetExternalTabs:Ie,useProcessOrder:no,useGeneratePaymentQrInfo:Xt,useSavePinCode:ao,useGetPinCode:$t,useReadGroup:Ot,useGetNotifications:Et,useGetDataChart:Rt,useGetVersion:wt,useCreateEInvoice:jt,useGetCurrentUser:Wt,useGetCity:Ft,useGetWard:Dt,useGetCountry:Lt,useGetPartnerTitle:Mt,useCompleteCurrentStage:mo,useLoginSupa:le,useAddFloor:lo,useAddTable:fo,useDeleteFloor:So,useDeleteTable:Co,useUpdateFloor:yo,useUpdateTable:go,useCreateOrder:ho};return jsxRuntime.jsx(hr.Provider,{value:t,children:e})},xr=()=>{let e=react.useContext(hr);if(!e)throw new Error("useService must be used within a ServiceProvider");return e};var vr=({children:e})=>{let{env:t}=G();function r(){let o=t?.defaultCompany;if(!o)return;o.display_name&&(document.title=o.display_name),document.documentElement.style.setProperty("--primary",o?.primary_color),document.documentElement.style.setProperty("--secondary",o?.secondary_color);let s=document.querySelector('meta[name="description"]');if(s)s.setAttribute("content",o.display_name);else {let a=document.createElement("meta");a.name="description",a.content=o.display_name,document.head.appendChild(a);}let n=(a,u)=>{let m=document.querySelector(`link[rel="${a}"]`);m?m.href=u:(m=document.createElement("link"),m.rel=a,m.href=u,document.head.appendChild(m));};if(o.logo){n("icon",o.logo),n("apple-touch-icon",o.logo);let a=document.querySelector('link[href="favicon.ico"]');a&&a.remove();}}return react.useEffect(()=>{r();},[t?.defaultCompany]),jsxRuntime.jsx(jsxRuntime.Fragment,{children:e})};exports.$=je;exports.$a=jt;exports.A=le;exports.Aa=lt;exports.Ab=fo;exports.B=fe;exports.Ba=ft;exports.Bb=yo;exports.C=ye;exports.Ca=yt;exports.Cb=go;exports.D=ge;exports.Da=gt;exports.Db=So;exports.E=Se;exports.Ea=St;exports.Eb=Co;exports.F=Ce;exports.Fa=Ct;exports.Fb=ho;exports.G=he;exports.Ga=ht;exports.H=_e;exports.Ha=_t;exports.I=xe;exports.Ia=xt;exports.J=ve;exports.Ja=vt;exports.K=be;exports.Ka=bt;exports.L=Te;exports.La=Tt;exports.M=Pe;exports.Ma=Pt;exports.N=Ae;exports.Na=At;exports.O=Ge;exports.Oa=Gt;exports.P=Ee;exports.Pa=Et;exports.Q=we;exports.Qa=wt;exports.R=De;exports.Ra=Dt;exports.S=Fe;exports.Sa=Ft;exports.T=Le;exports.Ta=Lt;exports.U=Me;exports.Ua=Mt;exports.V=Oe;exports.Va=Ot;exports.W=Re;exports.Wa=Rt;exports.X=qe;exports.Xa=qt;exports.Y=Ne;exports.Ya=Nt;exports.Z=Ue;exports.Za=Ut;exports._=ke;exports._a=kt;exports.a=ae;exports.aa=Ie;exports.ab=It;exports.b=Lo;exports.ba=He;exports.bb=Ht;exports.c=Oo;exports.ca=Ve;exports.cb=Vt;exports.d=G;exports.da=Be;exports.db=Bt;exports.e=_r;exports.ea=Xe;exports.eb=Xt;exports.f=xr;exports.fa=We;exports.fb=Wt;exports.g=vr;exports.ga=Qe;exports.gb=Qt;exports.h=qo;exports.ha=Ke;exports.hb=Kt;exports.i=No;exports.ia=$e;exports.ib=$t;exports.j=R;exports.ja=ze;exports.jb=zt;exports.k=A;exports.ka=Je;exports.kb=Jt;exports.l=$;exports.la=Ye;exports.lb=Yt;exports.m=N;exports.ma=Ze;exports.mb=Zt;exports.n=F;exports.na=et;exports.nb=eo;exports.o=z;exports.oa=tt;exports.ob=to;exports.p=E;exports.pa=ot;exports.pb=oo;exports.q=W;exports.qa=rt;exports.qb=ro;exports.r=_;exports.ra=st;exports.rb=so;exports.s=J;exports.sa=nt;exports.sb=no;exports.t=f;exports.ta=at;exports.tb=ao;exports.u=ie;exports.ua=it;exports.ub=io;exports.v=ue;exports.va=ut;exports.vb=uo;exports.w=pe;exports.wa=pt;exports.wb=po;exports.x=ce;exports.xa=ct;exports.xb=co;exports.y=me;exports.ya=mt;exports.yb=mo;exports.z=de;exports.za=dt;exports.zb=lo;
@@ -0,0 +1,2 @@
1
+ 'use strict';var chunkQV6QYYJF_cjs=require('./chunk-QV6QYYJF.cjs'),w=require('axios');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var w__default=/*#__PURE__*/_interopDefault(w);function P(s,l){return s.split(",").map(u=>u.trim()).filter(u=>!l?.some(_=>u?.startsWith(_))).join(",")}var B={init(s){let l=s?.localStorageUtils??chunkQV6QYYJF_cjs.a(),u=s?.sessionStorageUtils??chunkQV6QYYJF_cjs.b,_=s?.db,b=s?.config?.database,T=false,U=[],R=(e,n=null)=>{U?.forEach(t=>{e?t.reject(e):t.resolve(n);}),U=[];},d=w__default.default.create({adapter:w__default.default.defaults.adapter,baseURL:s?.baseUrl,timeout:5e4,paramsSerializer:e=>new URLSearchParams(e).toString()});d.interceptors.request.use(async e=>{let n=navigator.languages?.join(",")||navigator.language,t=e.headers["X-Use-Refresh-Token"]==="true",r=e.headers["X-Use-Action-Token"]==="true",c=e.headers["X-Action-Token"],E=P(n,s?.excludeLanguages),a=null;return r&&c?a=c:a=await(t?l.getRefreshToken:l.getAccessToken)?.(),a&&(e.headers.Authorization=`Bearer ${a}`),b&&(e.headers.DATABASE=b),e.headers["Accept-Language"]=E,e},Promise.reject);let I=()=>{if(!s.refreshTokenEndpoint)return `${g(s?.baseUrl)}/authentication/oauth2/token`;let e=String(s.refreshTokenEndpoint);if(/^https?:\/\//i.test(e))return e;let n=String(s?.baseUrl||"").replace(/\/$/,""),t=e.startsWith("/")?e:`/${e}`;return `${n}${t}`};d.interceptors.response.use(e=>N(e),async e=>{let n=async r=>{if(!r.response)return r;let{data:c}=r.response;return c&&c.code===400&&["invalid_grant"].includes(c.data?.error)&&await p(),c},t=e.config;if((e.response?.status===403||e.response?.status===401||e.response?.status===404)&&["TOKEN_EXPIRED","AUTHEN_FAIL",401,"ERR_2FA_006"].includes(e.response.data.code)){if(T)return new Promise(function(a,f){U.push({resolve:a,reject:f});}).then(a=>(t.headers.Authorization="Bearer "+a,t.data=chunkQV6QYYJF_cjs.p(t,a),d.request(t))).catch(async a=>{(a.response?.status===400||a.response?.status===401)&&["invalid_grant"].includes(a.response.data.error)&&await p();});let r=await u.getBrowserSession(),c=await l.getRefreshToken(),E=await l.getAccessToken();if(T=true,!c&&(!r||r=="unActive"))await p();else {let a=Object.fromEntries(Object.entries({refresh_token:c,grant_type:"refresh_token",client_id:s.config.clientId,client_secret:s.config.clientSecret}).filter(([i,o])=>!!o)),f=I();return new Promise(function(i){w__default.default.post(f,a,{headers:{"Content-Type":s.refreshTokenEndpoint?"application/x-www-form-urlencoded":"multipart/form-data",Authorization:`Bearer ${E}`}}).then(async o=>{let h=o.data;await l.setToken(h.access_token),await l.setRefreshToken(h.refresh_token),w__default.default.defaults.headers.common.Authorization="Bearer "+h.access_token,t.headers.Authorization="Bearer "+h.access_token,t.data=chunkQV6QYYJF_cjs.p(t,h.access_token),R(null,h.access_token),i(d.request(t));}).catch(async o=>{if(o&&(o?.error_code==="AUTHEN_FAIL"||o?.error_code==="TOKEN_EXPIRED"||o?.error_code==="TOKEN_INCORRECT"||o?.code==="ERR_2FA_006")&&await p(),o&&o.response){let{error_code:h}=o.response?.data||{},{code:O}=o;(h==="AUTHEN_FAIL"||O==="ERR_2FA_006")&&await p();}R(o,null);}).finally(()=>{T=false;});})}}return Promise.reject(await n(e))}),d.interceptors.response.use(e=>N(e),async e=>{let n=async r=>{if(!r.response)return r;let{data:c}=r.response;return c&&c.code===400&&["invalid_grant"].includes(c.data?.error)&&await p(),c},t=e.config;if((e.response?.status===403||e.response?.status===401||e.response?.status===404)&&["TOKEN_EXPIRED","AUTHEN_FAIL",401,"ERR_2FA_006"].includes(e.response.data.code)){if(T)return new Promise(function(a,f){U.push({resolve:a,reject:f});}).then(a=>(t.headers.Authorization="Bearer "+a,t.data=chunkQV6QYYJF_cjs.p(t,a),d.request(t))).catch(async a=>{(a.response?.status===400||a.response?.status===401)&&["invalid_grant"].includes(a.response.data.error)&&await p();});let r=await u.getBrowserSession(),c=await l.getRefreshToken(),E=await l.getAccessToken();if(T=true,!c&&(!r||r=="unActive"))await p();else {let a=Object.fromEntries(Object.entries({refresh_token:c,grant_type:"refresh_token",client_id:s.config.clientId,client_secret:s.config.clientSecret}).filter(([f,i])=>!!i));return new Promise(function(f){w__default.default.post(`${s?.baseUrl}${s.refreshTokenEndpoint??"/authentication/oauth2/token"}`,a,{headers:{"Content-Type":s.refreshTokenEndpoint?"application/x-www-form-urlencoded":"multipart/form-data",Authorization:`Bearer ${E}`}}).then(async i=>{let o=i.data;await l.setToken(o.access_token),await l.setRefreshToken(o.refresh_token),w__default.default.defaults.headers.common.Authorization="Bearer "+o.access_token,t.headers.Authorization="Bearer "+o.access_token,t.data=chunkQV6QYYJF_cjs.p(t,o.access_token),R(null,o.access_token),f(d.request(t));}).catch(async i=>{if(console.log("catch error: ",i),i&&(i?.error_code==="AUTHEN_FAIL"||i?.error_code==="TOKEN_EXPIRED"||i?.error_code==="TOKEN_INCORRECT"||i?.code==="ERR_2FA_006")&&await p(),i&&i.response){console.log("err response code: ",i),console.log("err response: ",i.response);let{error_code:o}=i.response?.data||{},{code:h}=i;(o==="AUTHEN_FAIL"||h==="ERR_2FA_006")&&await p();}R(i,null);}).finally(()=>{T=false;});})}}return Promise.reject(await n(e))});let N=e=>e&&e.data?e.data:e,p=async()=>{await l.clearToken(),typeof window<"u"&&(window.location.href="/login");};function y(e,n){return e+(n?"?db="+n:"")}let g=(e,n)=>`${e.replace(/\/$/,"")}/${n||u.getMenuFocus().service||s?.default_service}/api/v2`,A=e=>({headers:{...e.headers,...u.getXNode()?{"X-Node":u.getXNode()}:{}}}),k=e=>e;return {get:(e,n,t)=>d.get(y(g(s?.baseUrl,t)+e,_),A(n)).then(k),post:async(e,n,t,r)=>d.post(y(g(s?.baseUrl,r)+e,_),n,A(t)).then(k),post_excel:(e,n,t,r)=>d.post(y(g(s?.baseUrl,r)+e,_),n,{responseType:"arraybuffer",headers:{"Content-Type":typeof window<"u"?"application/json":"application/javascript",Accept:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",...t,...u.getXNode()?{"X-Node":u.getXNode()}:{}}}).then(k),put:(e,n,t,r)=>d.put(y(g(s?.baseUrl,r)+e,_),n,A(t)).then(k),patch:(e,n,t,r)=>d.patch(y(g(s?.baseUrl,r)+e,_),n,A(t)).then(k),delete:(e,n,t)=>d.delete(y(g(s?.baseUrl,t)+e,_),A(n)).then(k)}}};
2
+ exports.a=B;