@fctc/interface-logic 4.5.5 → 4.5.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-LYD7QJQX.mjs +2 -0
- package/dist/chunk-Y5QM3Y5X.mjs +1 -0
- package/dist/configs.mjs +1 -1
- package/dist/environment.mjs +1 -1
- package/dist/hooks.mjs +1 -1
- package/dist/provider.d.mts +102 -46
- package/dist/provider.mjs +1 -1
- package/dist/services.mjs +1 -1
- package/package.json +1 -1
- package/dist/chunk-BWSA2O6Z.mjs +0 -1
- package/dist/chunk-TKG5NQ2J.mjs +0 -2
|
@@ -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
|
+
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-LCUY2BJU.mjs';import {d,f as f$1}from'./chunk-KPELPP6F.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 ie=({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(ie,{children:e});var rn={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 Ro({children:e,localStorageUtils:t=a(),sessionStorageUtils:r=b}){let[o,n]=useState({...rn,localStorageUtils:t,sessionStorageUtils:r}),s=useCallback(a=>{let c={...o,...a,localStorageUtils:t,sessionStorageUtils:r},P=a$1.init(c);return n({...c,requests:P}),c},[o,t,r]),i=useCallback(a=>{n(c=>({...c,context:{...c.context,uid:a}}));},[]),u=useCallback(a=>{n(c=>({...c,context:{...c.context,lang:a}}));},[]),m=useCallback(a=>{n(c=>({...c,context:{...c.context,allowed_company_ids:a}}));},[]),l=useCallback(a=>{n(c=>({...c,companies:a}));},[]),C=useCallback(a=>{n(c=>({...c,defaultCompany:a}));},[]),_=useCallback(a=>{n(c=>({...c,user:a}));},[]),p=useCallback(a=>{n(c=>({...c,config:a}));},[]),y=useCallback(a=>{n(c=>({...c,envFile:a}));},[]);return jsx(Mo.Provider,{value:{env:o,setupEnv:s,setUid:i,setLang:u,setAllowCompanies:m,setCompanies:l,setDefaultCompany:C,setUserInfo:_,setConfig:p,setEnvFile:y},children:e})}function w(){let e=useContext(Mo);if(!e)throw new Error("useEnv must be used within an EnvProvider");return e}function O(){let{env:e}=w(),t=useCallback(async({idAction:l,context:C,service:_,xNode:p,searchParams:y})=>{let a={action_id:l,with_context:{...C}},c=y?`/load_action?${n(y)}`:"/load_action";return e.requests.post(c,a,{headers:{"Content-Type":"application/json","X-Node":p}},_)},[e]),r=useCallback(async({model:l,ids:C=[],context:_,method:p,service:y,xNode:a})=>{try{let c={model:l,method:p,ids:C,with_context:_};return e.requests.post("/call",c,{headers:{"Content-Type":"application/json",...a?{"X-Node":a}:{}}},y)}catch(c){throw console.error("Error when calling button action:",c),c}},[e]),o=useCallback(async({model:l,ids:C,context:_,service:p,xNode:y})=>{let a={model:l,method:"unlink",ids:C,with_context:_};return e.requests.post("/call",a,{headers:{"Content-Type":"application/json"},...y?{"X-Node":y}:{}},p)},[e]),n$1=useCallback(async({model:l,id:C,context:_,service:p,xNode:y})=>{let a={model:l,method:"copy",ids:C,with_context:_};return e.requests.post("/call",a,{headers:{"Content-Type":"application/json"},...y?{"X-Node":y}:{}},p)},[e]),s=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]),i=useCallback(async({id:l,report:C,db:_})=>{let y=n({report:C,id:l,type:"pdf",file_response:true,db:_}),a=`/report?${y}`;return e.requests.get(a,{headers:{"Content-Type":"application/json"},responseType:"arraybuffer"})},[e]),u=useCallback(async({idAction:l,context:C,service:_,xNode:p,searchParams:y})=>{let a={action_id:l,with_context:{...C}},c=y?`/run_action?${n(y)}`:"/run_action";return e.requests.post(c,a,{headers:{"Content-Type":"application/json",...p?{"X-Node":p}:{}}},_)},[e]),m=useCallback(async({kwargs:l,context:C,service:_,xNode:p})=>{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"},...p?{"X-Node":p}:{}},_)},[e]);return {loadAction:t,callButton:r,removeRows:o,duplicateRecord:n$1,getPrintReportName:s,print:i,runAction:u,generateSerialNumber:m}}var xo=createContext(null),No=({supabaseUrl:e,supabaseKey:t,schema:r="public",children:o})=>{let n=useMemo(()=>!e||!t?null:createClient(e,t,{db:{schema:r}}),[e,t,r]);return jsx(xo.Provider,{value:n,children:o})},qo=()=>{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}=w(),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(([G,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]),n=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]),s=useCallback(async({email:d,with_context:g,method:T})=>{let G={method:T,kwargs:{vals:{email:d}},with_context:g};return e?.requests?.post("/call",G,{headers:{"Content-Type":"application/json"}})},[e]),i=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 G={method:d,kwargs:{vals:{password:g}},with_context:T};return e?.requests?.post("/call",G,{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]),_=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]),p=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]),a=useCallback(async d=>e?.requests?.post("/logout",{},{headers:{"Content-Type":"application/json","X-Use-Refresh-Token":"true"},withCredentials:true},d),[e]),c=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]),P=useCallback(async({phone:d,name:g,service:T,xNode:G})=>{let S={phone:d,name:g};return e?.requests.post("/emenu/auth/token",S,{headers:{"Content-Type":"application/json",...G?{"X-Node":G}:{}}},T)},[e]);return {login:r,loginSupabase:o,forgotPassword:n,forgotPasswordSSO:s,resetPassword:i,resetPasswordSSO:u,updatePassword:m,isValidToken:l,isValidActionToken:C,loginSocial:_,getProviders:p,getAccessByCode:y,logout:a,getTenantMapping:c,getToken:P}}function $(){let{env:e}=w(),t=useCallback(async(o,n)=>await e.requests.get("/company",{headers:n?{...n,"Content-Type":"application/json"}:{"Content-Type":"application/json"}},o),[e]),r=useCallback(async(o,n)=>{let s={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",s,{headers:{"Content-Type":"application/json"}},n)},[e]);return {getCurrentCompany:t,getInfoCompany:r}}function q(){let{env:e}=w(),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:_,service:p,xNode:y})=>{let a={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:_};return e.requests.post("/call",a,{headers:{"Content-Type":"application/json","X-Node":y}},p)},[e]),n=useCallback(async({columns:m,fields:l,idFile:C,options:_,dryrun:p,context:y,service:a,xNode:c})=>{let P={model:"base_import.import",method:"execute_import",ids:[C],kwargs:{fields:l,columns:m,options:_,dryrun:p},with_context:y};return e.requests.post("/call",P,{headers:{"Content-Type":"application/json","X-Node":c}},a)},[e]),s=useCallback(async({model:m,service:l,xNode:C,context:_})=>{let p={model:m,method:"get_import_templates",args:[],context:_};return e.requests.post("/call",p,{headers:{"Content-Type":"application/json","X-Node":C}},l)},[e]),i=useCallback(async({ids:m,model:l,isShow:C,parentField:_,fieldType:p,parentName:y,prefix:a,name:c,context:P,importCompat:d,service:g,xNode:T})=>{let G={model:l,import_compat:d,domain:[["id","in",m]],with_context:P};return C&&(G.parent_field=_,G.parent_field_type=p,G.parent_name=y,G.name=c,G.prefix=a,G.exclude=[null]),e.requests.post("/export/get_fields",G,{headers:{"Content-Type":"application/json","X-Node":T}},g)},[e]),u=useCallback(async({model:m,domain:l,ids:C,fields:_,type:p,importCompat:y,context:a,groupby:c,service:P,xNode:d})=>{let g={model:m,domain:l,ids:C,import_compat:y,fields:_,with_context:a,groupby:c??[]};return e.requests.post_excel(`/export/${p}`,g,{headers:{"Content-Type":"application/json",...d?{"X-Node":d}:{}}},P)},[e]);return {uploadFileExcel:t,uploadIdFile:r,parsePreview:o,executeImport:n,getFileExcel:s,getFieldExport:i,exportExcel:u}}function D(){let{env:e}=w(),t=useCallback(async({data:p})=>{let y={thread_id:p.thread_id,thread_model:p.thread_model,limit:100,with_context:{lang:p.lang}};return e.requests.post("/chatter/thread/messages",y,{headers:{"Content-Type":"application/json"}})},[e]),r=useCallback(async({data:p,xNode:y,service:a})=>{let c={thread_id:p?.thread_id,thread_model:p?.thread_model,limit:p?.limit,with_context:p?.with_context,request_list:p?.request_list};return e.requests.post("/mail/thread/data",c,{headers:{"Content-Type":"application/json",...y?{"X-Node":y}:{}}},a)},[e]),o=useCallback(async({data:p,xNode:y,service:a})=>{let c={thread_id:p?.thread_id,thread_model:p?.thread_model,limit:p?.limit,with_context:p?.with_context};return e.requests.post("/mail/thread/messages",c,{headers:{"Content-Type":"application/json",...y?{"X-Node":y}:{}}},a)},[e]),n=useCallback(async({data:p})=>{let y={context:{tz:"Asia/Saigon",uid:2,allowed_company_ids:[1],mail_post_autofollow:false,temporary_id:142183.01},post_data:{body:p.message,message_type:"comment",attachment_ids:p.attachment_ids,attachment_tokens:[],subtype_xmlid:p.subtype},thread_id:Number(p.thread_id),thread_model:p.thread_model};return e.requests.post("/chatter/message/post",y,{headers:{"Content-Type":"application/json"}})},[e]),s=useCallback(async({data:p})=>{let y={attachment_ids:[],attachment_tokens:[],body:"",message_id:p.message_id};return e.requests.post("/chatter/message/update_content",y,{headers:{"Content-Type":"application/json"}})},[e]),i=useCallback(async({data:p})=>e.requests.get(`/web/image?filename=${p.filename}&unique=${p.checksum}&width=1920&height=300`,{headers:{"Content-Type":"application/json"}}),[e]),u=useCallback(async({formData:p,service:y,xNode:a})=>e.requests.post("/mail/attachment/upload",p,{headers:{...a?{"X-Node":a}:{}}},y),[e]),m=useCallback(async({formData:p,service:y,xNode:a,path:c})=>e.requests.post(c,p,{headers:{...a?{"X-Node":a}:{}}},y),[e]),l=useCallback(async({data:p})=>{let y={model:p.model,method:"get_formview_action",ids:p.id?[p.id]:[],with_context:p.context};return e.requests.post("/call",y,{headers:{"Content-Type":"application/json"}})},[e]),C=useCallback(async({data:p})=>{let y={[p.name]:p.stage_id},a={model:p.model,method:"web_save",with_context:{lang:p.lang,allowed_company_ids:[1],uid:2,search_default_my_ticket:true,search_default_is_open:true},ids:[p.id],kwargs:{vals:y,specification:{}}};return e.requests.post("/call",a,{headers:{"Content-Type":"application/json"}})},[e]),_=useCallback(async({method:p,context:y,service:a,xNode:c})=>e?.requests?.post("/call",{method:p,with_context:y},{headers:{"Content-Type":"application/json",...c?{"X-Node":c}:{}}},a),[e]);return {getComment:t,sentComment:n,deleteComment:s,getImage:i,uploadImage:u,getFormView:l,changeStatus:C,uploadFile:m,getThreadMessages:o,getThreadData:r,getExternalTab:_}}function z(){let{env:e}=w(),t=useCallback(async({model:o,width_context:n})=>{let s={model:o,method:"web_read_group",kwargs:{domain:[["stage_id.fold","=",false]],fields:["color:sum"],groupby:["stage_id"]},width_context:n};return e.requests.post("/call",s,{headers:{"Content-Type":"application/json"}})},[e]),r=useCallback(async({field:o,color:n,model:s,width_context:i})=>{let u={model:s,method:"read_progress_bar",kwargs:{domain:[],group_by:"stage_id",progress_bar:{colors:n,field:o}},width_context:i};return e.requests.post("/call",u,{headers:{"Content-Type":"application/json"}})},[e]);return {getGroups:t,getProgressBar:r}}function E(){let{env:e}=w(),t=useCallback(async({domain:a,spectification:c,model:P})=>{let d={model:P,method:"web_search_read",kwargs:{specification:c,domain:a,limit:100,offset:0}};return e.requests.post("/call",d,{headers:{"Content-Type":"application/json"}})},[e]),r=useCallback(async()=>{let a={model:"res.currency",method:"web_search_read",kwargs:{specification:{icon_url:{},name:{}},domain:[["active","=",true]],limit:100,offset:0}};return e.requests.post("/call",a,{headers:{"Content-Type":"application/json"}})},[e]),o=useCallback(async()=>{let a={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",a,{headers:{"Content-Type":"application/json"}})},[e]),n$1=useCallback(async({data:a,service:c,xNode:P,searchParams:d})=>{let g=a.type=="calendar"?{fields:a?.fields}:a.fields&&a.fields.length>0&&a.groupby&&a.groupby.length>0&&a.groupby[0]?{fields:a.fields,groupby:a.groupby}:{count_limit:10001,order:a.sort,specification:a.specification},T={model:String(a.model),method:a.type=="calendar"?"search_read":g.fields&&g.groupby?"web_read_group":"web_search_read",ids:a.ids,with_context:a.context,kwargs:{domain:a.domain,limit:a.limit,offset:a.offset,...g}},G=d?`/call?${n(d)}`:"/call";return e.requests.post(G,T,{headers:{"Content-Type":"application/json",...P?{"X-Node":P}:{}}},c)},[e]),s=useCallback(async({data:a})=>{let c=a.type=="calendar"?a?.fields:a.fields&&a.fields.length>0&&a.groupby&&a.groupby.length>0&&a.groupby[0]?{fields:a.fields,groupby:a.groupby}:{count_limit:10001,order:a.sort,specification:a.specification},P={model:String(a.model),method:a.type=="calendar"?"search_read":c.fields&&c.groupby?"web_read_group":"web_search_read",ids:a.ids,with_context:a.context,kwargs:{domain:a.domain,limit:a.limit,offset:a.offset,fields:a.fields,...c}};return e.requests.post("/call",P,{headers:{"Content-Type":"application/json"}})},[e]),i=useCallback(async({model:a,ids:c=[],specification:P={},domain:d=[],offset:g,order:T,context:G={},limit:S=10})=>{let v={model:a,method:"web_search_read",ids:c,with_context:G,kwargs:{specification:P,domain:d,limit:S,offset:g,order:T}};return e.requests.post("/call",v,{headers:{"Content-Type":"application/json"}})},[e]),u=useCallback(async({ids:a=[],model:c,specification:P,context:d,service:g,xNode:T})=>{let G={model:c,method:"web_read",ids:a,with_context:d,kwargs:{specification:P}};return e.requests.post("/call",G,{headers:{"Content-Type":"application/json",...T?{"X-Node":T}:{}}},g)},[e]),m=useCallback(async({model:a,ids:c=[],data:P={},specification:d={},context:g={},path:T,service:G,xNode:S})=>{let v={model:a,method:"web_save",with_context:g,ids:c,kwargs:{vals:P,specification:d}};return e.requests.post(T??"/call",v,{headers:{"Content-Type":"application/json",...S?{"X-Node":S}:{}}},G)},[e]),l=useCallback(async({ids:a=[],model:c,service:P})=>{let d={model:c,method:"unlink",ids:a};return e.requests.post("/call",d,{headers:{"Content-Type":"application/json"}},P)},[e]),C=useCallback(async({ids:a=[],model:c,object:P,specification:d,context:g,fieldChange:T,service:G,xNode:S})=>{let v={model:c,method:"onchange",ids:a,with_context:g,args:[P||{},T||[],d]};return e.requests.post("/call",v,{headers:{"Content-Type":"application/json",...S?{"X-Node":S}:{}}},G)},[e]),_=useCallback(async({model:a,service:c,xNode:P})=>{let d={model:a,method:"get_fields_onchange"};return e.requests.post("/call",d,{headers:{"Content-Type":"application/json",...P?{"X-Node":P}:{}}},c)},[e]),p=useCallback(a=>{for(let c in a)c==="display_name"&&delete a[c],!a[c]&&a[c]!==0&&(a[c]=false);return {...a}},[]),y=useCallback((a,c,P)=>{for(let d in a)a[d]===false?c&&P?c?.models?.[P]?.[d]?.type!=="boolean"&&(a[d]=null):a[d]=null:a[d]!==false&&P!==void 0&&(c?.models?.[P]?.[d]?.type==="one2many"||c?.models?.[P]?.[d]?.type==="many2many")&&(a[d]=(a[d]??=[])?.map(g=>{let T=c?.models?.[P]?.[d]?.relation;if(T!==void 0){if(c?.models?.[T])return g?.length>=3?y(g[2],c,T):y(g,c,T);if(g?.length>=3)return g[2];if(g!==0)return g}})?.filter(Boolean));return {...a}},[]);return {getListMyBankAccount:t,getCurrency:r,getConversionRate:o,getAll:n$1,getListCalendar:s,getList:i,getDetail:u,save:m,deleteApi:l,onChange:C,getListFieldsOnchange:_,parseORMOdoo:p,toDataJS:y}}function W(){let{env:e}=w(),t=useCallback(async(n,s,i)=>e?.requests?.get(s||"/userinfo",{headers:i?{...i,"Content-Type":"application/x-www-form-urlencoded"}:{"Content-Type":"application/x-www-form-urlencoded"}},n),[e]),r=useCallback(async({context:n,id:s})=>{let i={model:"res.users",method:"web_read",ids:[s],with_context:n,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",i,{headers:{"Content-Type":"application/json"}})},[e]),o=useCallback(async({id:n,values:s,service:i})=>{let u={model:"res.users",domain:[["id","=",n]],values:s};return e?.requests.post(c?.CREATE_UPDATE_PATH,u,{headers:{"Content-Type":"application/json"}},i)},[e]);return {getProfile:t,getUser:r,switchUserLocale:o}}function h(){let{env:e}=w(),t=useCallback(async({model:S,views:v,context:b={},options:F={},aid:R,service:V,xNode:Y,searchParams:se})=>{let ho={load_filters:true,toolbar:true,action_id:R},Qr={model:S,method:"get_fields_view_v2",kwargs:{views:v,options:{...F,...ho}},with_context:b},Kr=se?`/call?${n(se)}`:"/call";return e?.requests?.post(Kr,Qr,{headers:{"Content-Type":"application/json",...Y?{"X-Node":Y}:{}}},V)},[e]),r=useCallback(async(S,v,b,F)=>{let R={model:"ir.ui.menu",method:"web_search_read",ids:[],with_context:S,kwargs:{specification:v,domain:b??["&",["is_display","=",true],"&",["active","=",true],["parent_id","=",false]]}};return e?.requests?.post("/call",R,{headers:{"Content-Type":"application/json"}},F)},[e]),o=useCallback(async(S,v)=>{let b={model:"ir.actions.act_window",method:"web_read",ids:[S],with_context:v,kwargs:{specification:{id:{},name:{},res_model:{},views:{},view_mode:{},mobile_view_mode:{},domain:{},context:{},groups_id:{},search_view_id:{}}}};return e?.requests?.post("/call",b,{headers:{"Content-Type":"application/json"}})},[e]),n$1=useCallback(async({model:S,ids:v,context:b,offset:F,service:R,xNode:V})=>{let Y={model:S,with_context:b,ids:v,field:"sequence",...F>0?{offset:F}:{}};return e?.requests.post("/web/dataset/resequence",Y,{headers:{"Content-Type":"application/json",...V?{"X-Node":V}:{}}},R)},[e]),s=useCallback(async({data:S,service:v,xNode:b})=>{let F={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",F,{headers:{"Content-Type":"application/json",...b?{"X-Node":b}:{}}},v)},[e]),i=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:v,client_id:b,scopes:F})=>{let R={redirect_uri:S,state:v,client_id:b,scopes:F};return e?.requests.post("/grant-access",R,{headers:{"Content-Type":"application/json"},withCredentials:true},"id")},[e]),l=useCallback(async({method:S,token:v})=>{let b={method:S,with_context:{token:v}};return e?.requests.post("/call",b,{headers:{"Content-Type":"application/json"}},"id")},[e]),C=useCallback(async({method:S,token:v})=>{let b={method:S,with_context:{token:v}};return e?.requests.post("/call",b,{headers:{"Content-Type":"application/json"}},"id")},[e]),_=useCallback(async({method:S,model:v,kwargs:b,token:F})=>{let R={method:S,model:v,kwargs:b,with_context:{token:F}};return e?.requests.post("/call",R,{headers:{"Content-Type":"application/json"}},"id")},[e]),p=useCallback(async({redirect_uri:S,state:v,client_id:b,response_type:F,path:R,scope:V})=>{let se=`${new URLSearchParams({response_type:F,client_id:b,redirect_uri:S,state:v}).toString()}&scope=${encodeURIComponent(V)}`,ho=`${R}?${se}`;return e?.requests.get(ho,{headers:{"Content-Type":"application/json"},withCredentials:true},"id")},[e]),y=useCallback(({method:S,with_context:v,code:b,device:F,location:R})=>{let V={method:S,kwargs:{vals:{code:b,device:F,location:R}},with_context:v};return e?.requests.post("/call",V,{headers:{"Content-Type":"application/json"},withCredentials:true},"id")},[e]),a=useCallback(({method:S,with_context:v})=>{let b={method:S,with_context:v};return e?.requests.post("/call",b,{headers:{"Content-Type":"application/json"}},"id")},[e]),c=useCallback(({method:S,action_token:v,code:b})=>{let F={method:S,kwargs:{vals:{code:b}},with_context:{action_token:v}};return e?.requests.post("/call",F,{headers:{"Content-Type":"application/json"}})},[e]),P=useCallback(async({service:S,xNode:v,body:b})=>e?.requests?.post("/mail/data",b,{headers:{"Content-Type":"application/json",...v?{"X-Node":v}:{}}},S),[e]),d=useCallback(async({service:S,xNode:v,ids:b,kwargs:F})=>{let R={model:"res.country",ids:b,method:"get_data_select",kwargs:F};return e?.requests?.post("/call",R,{headers:{"Content-Type":"application/json",...v?{"X-Node":v}:{}}},S)},[e]),g=useCallback(async({service:S,xNode:v,ids:b,kwargs:F})=>{let R={model:"res.country.state",ids:b,method:"get_data_select",kwargs:F};return e?.requests?.post("/call",R,{headers:{"Content-Type":"application/json",...v?{"X-Node":v}:{}}},S)},[e]),T=useCallback(async({service:S,xNode:v,kwargs:b})=>{let F={model:"res.country.ward",method:"get_data_select",kwargs:b};return e?.requests?.post("/call",F,{headers:{"Content-Type":"application/json",...v?{"X-Node":v}:{}}},S)},[e]),G=useCallback(async({service:S,xNode:v,kwargs:b,withContext:F})=>{let R={model:"res.partner.title",method:"get_data_select",kwargs:b,with_context:F};return e?.requests?.post("/call",R,{headers:{"Content-Type":"application/json",...v?{"X-Node":v}:{}}},S)},[e]);return {getView:t,getMenu:r,getActionDetail:o,getResequence:n$1,getSelectionItem:s,loadMessages:i,getVersion:u,grantAccess:m,removeTotpSetUp:l,requestSetupTotp:C,settingsWebRead2fa:_,signInSSO:p,verify2FA:y,get2FAMethods:a,verifyTotp:c,getNotifications:P,getCountry:d,getCity:g,getWard:T,getPartnerTitle:G}}function J(){let{env:e}=w(),t=useCallback(async({service:o,xNode:n,body:s})=>e.requests.post("/read_group",s,{headers:{"Content-Type":"application/json","X-Node":n}},o),[e]),r=useCallback(async({service:o,xNode:n,body:s,path:i,method:u="POST"})=>{let m={"Content-Type":"application/json","X-Node":n};return u==="GET"?e.requests.get(i,{headers:m},o):e.requests.post(i,s,{headers:m},o)},[e]);return {readGroup:t,getDataChart:r}}var Io=e=>({getASession:useCallback(async({model:r,args:o,domain:n,service:s,xNode:i})=>{let u={model:r,method:"web_search_read",args:o,kwargs:{domain:[n],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",...i?{"X-Node":i}:{}}},s)},[e])});var Ho=e=>({addEntity:useCallback(({model:r,values:o,xNode:n,service:s,isCreateEndpoint:i=false,isSupa:u=false,supaCallback:m})=>{if(u&&m)return m(o);let l={model:r,values:o};return e?.requests.post(i?"/create":"/call",l,{headers:{"Content-Type":"application/json",...n?{"X-Node":n}:{}}},s)},[e])});var Vo=e=>({changeOrderPreparationState:useCallback(({orderId:r,stageId:o,preparationDisplayId:n,xNode:s,service:i})=>{let u={model:"pos_preparation_display.order",method:"change_order_stage",ids:r,kwargs:{stage_id:o,preparation_display_id:n}};return e?.requests.post("/call",u,{headers:{"Content-Type":"application/json",...s?{"X-Node":s}:{}}},i)},[e])});var Bo=e=>({checkPayment:useCallback(({model:r,ids:o,withContext:n,xNode:s,service:i})=>{let u={model:r,method:"check",ids:o,with_context:n};return e?.requests.post("/call",u,{headers:{"Content-Type":"application/json",...s?{"X-Node":s}:{}}},i)},[e])});var Xo=e=>({createEInvoice:useCallback(async({service:r,xNode:o,kwargs:n,ids:s,withContext:i})=>{let u={model:"pos.order",method:"create_e_invoice",kwargs:n,ids:s,with_context:i};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:n,service:s,isSupa:i=false,supaCallback:u})=>{if(i&&u)return u(o);let m={model:r,method:"create",args:o};return e?.requests.post("/call",m,{headers:{"Content-Type":"application/json",...n?{"X-Node":n}:{}}},s)},[e])});var Qo=e=>({createPosConfig:useCallback(({model:r,name:o,modulePosRestaurant:n,xNode:s,service:i})=>{let u={model:r,values:{name:o,module_pos_restaurant:n}};return e?.requests.post("/create",u,{headers:{"Content-Type":"application/json",...s?{"X-Node":s}:{}}},i)},[e])});var Ko=e=>({createSession:useCallback(({model:r,configId:o,xNode:n,service:s})=>{let i={model:r,method:"create",args:[{config_id:o}]};return e?.requests.post("/call",i,{headers:{"Content-Type":"application/json",...n?{"X-Node":n}:{}}},s)},[e])});var $o=e=>({deleteEntity:useCallback(({model:r,ids:o,xNode:n,service:s,method:i,isSupa:u=false,supaCallback:m})=>{if(u&&m)return m(o);let l={model:r,ids:o,method:i};return e?.requests.post("/call",l,{headers:{"Content-Type":"application/json",...n?{"X-Node":n}:{}}},s)},[e])});var zo=e=>({generatePaymentQRInfo:useCallback(({orderId:r,amount:o,posSessionId:n,xNode:s,service:i})=>{let u={order_id:r,amount:o,pos_session_id:n};return e?.requests.post("/payment/qr",u,{headers:{"Content-Type":"application/json",...s?{"X-Node":s}:{}}},i)},[e])});var Jo=e=>({getCurrentUser:useCallback(async({service:r,xNode:o,oauthUid:n,extraHeaders:s})=>e?.requests?.get(`/public/user/info/${n}`,{headers:s?{...s,"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:n,service:s,specification:i,offset:u,limit:m})=>{let l={model:r,method:"web_search_read",kwargs:o({domain:o$1,offset:u,limit:m,specification:i})};return e?.requests.post("/call",l,{headers:{"Content-Type":"application/json",...n?{"X-Node":n}:{}}},s)},[e])});var Zo=e=>({getOrderLine:useCallback(({model:r,ids:o,specification:n,xNode:s,service:i})=>{let u={model:r,method:"web_read",ids:o,kwargs:{specification:n}};return e?.requests.post("/call",u,{headers:{"Content-Type":"application/json",...s?{"X-Node":s}:{}}},i)},[e])});var er=e=>({getPinCode:useCallback(({serialNumber:r,xNode:o,service:n})=>{let s={serial_number:r};return e?.requests.post("/pos_device/get_pin_code",s,{headers:{"Content-Type":"application/json",...o?{"X-Node":o}:{}}},n)},[e])});var tr=e=>({getPOS:useCallback(({model:r,args:o,domain:n,xNode:s,service:i})=>{let u={model:r,method:"web_search_read",args:o,kwargs:{domain:n,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",...s?{"X-Node":s}:{}}},i)},[e])});var or=e=>({getPreparationDisplayData:useCallback(({ids:r,xNode:o,service:n,withContext:s})=>{let i={model:"pos_preparation_display.display",method:"get_preparation_display_data",ids:r,with_context:s};return e?.requests.post("/call",i,{headers:{"Content-Type":"application/json",...o?{"X-Node":o}:{}}},n)},[e])});var rr=e=>({getProductImage:useCallback(({model:r,fields:o,limit:n$1,offset:s,domain:i,xNode:u,service:m,searchParams:l})=>{let C={model:r,fields:o,limit:n$1,offset:s,domain:i},_=l?`/search_read?${n(l)}`:"/search_read";return e?.requests.post(_,C,{headers:{"Content-Type":"application/json",...u?{"X-Node":u}:{}}},m)},[e])});var nr=e=>({handleCloseSession:useCallback(({model:r,ids:o,xNode:n,service:s,method:i})=>{let u={model:r,ids:o,method:i};return e?.requests.post("/call",u,{headers:{"Content-Type":"application/json",...n?{"X-Node":n}:{}}},s)},[e])});var sr=e=>({handleClosingDetailSession:useCallback(({model:r,ids:o,method:n,xNode:s,service:i,kwargs:u})=>{let m={model:r,ids:o,method:n,kwargs:u};return e?.requests.post("/call",m,{headers:{"Content-Type":"application/json",...s?{"X-Node":s}:{}}},i)},[e])});var ir=e=>({handleClosingSession:useCallback(({model:r,method:o,ids:n,kwargs:s,xNode:i,service:u})=>{let m={model:r,method:o,ids:n,kwargs:s};return e?.requests.post("/call",m,{headers:{"Content-Type":"application/json",...i?{"X-Node":i}:{}}},u)},[e])});var Po=(e,t=[])=>({modelName:e,data:t,fields:{},relations:{}}),ur=e=>{let t=L(),r=useCallback(async({model:n$1,ids:s,xNode:i,service:u,withContext:m,modelsToLoad:l=[],searchParams:C})=>{let _={model:n$1,method:"load_data",ids:s,with_context:m||{uid:37,lang:"vi_VN",tz:"Asia/Saigon"},kwargs:{models_to_load:l}},p=C?`/call?${n(C)}`:"/call";return e?.requests.post(p,_,{headers:{"Content-Type":"application/json",...i?{"X-Node":i}:{}}},u)},[e]),o=useCallback(async()=>{if(!t)return {};try{let n=Object.values(d);return (await Promise.all(n.map(async i=>{let u=f$1[i];if(!u)return Po(i);let{data:m,error:l}=await t.from(u).select("*");return l?(console.error(`Error loading ${i}:`,l),Po(i)):Po(i,m||[])}))).reduce((i,{modelName:u,...m})=>(i[u]=m,i),{})}catch(n){return console.error("Error loading data from Supabase:",n),{}}},[t]);return {loadDataPosSession:r,loadDataPosSessionSupabase:o}};var cr=e=>({manageOnChange:useCallback(({model:r,ids:o,args:n,xNode:s,service:i})=>{let u={model:r,method:"onchange",ids:o,args:n};return e?.requests.post("/call",u,{headers:{"Content-Type":"application/json",...s?{"X-Node":s}:{}}},i)},[e])});var pr=e=>({manageSession:useCallback(({model:r,method:o,ids:n,args:s,kwargs:i,xNode:u,service:m})=>{let l={model:r,method:o,ids:n,args:s,kwargs:i};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:n})=>{let s={model:"pos_preparation_display.order",method:"process_order",kwargs:{order_id:r}};return e?.requests.post("/call",s,{headers:{"Content-Type":"application/json",...o?{"X-Node":o}:{}}},n)},[e])});var dr=e=>({savePinCode:useCallback(({serialNumber:r,pinCode:o,xNode:n,service:s})=>{let i={serial_number:r,pin_code:o};return e?.requests.put("/pos_device/pin",i,{headers:{"Content-Type":"application/json",...n?{"X-Node":n}:{}}},s)},[e])});var lr=e=>({searchJournal:useCallback(({model:r,method:o,args:n,kwargs:s,xNode:i,service:u})=>{let m={model:r,method:o,args:n,kwargs:s};return e?.requests.post("/call",m,{headers:{"Content-Type":"application/json",...i?{"X-Node":i}:{}}},u)},[e])});var fr=e=>({updateClosedSession:useCallback(({model:r,domain:o,values:n,service:s,xNode:i})=>{let u={model:r,domain:o,values:n};return e?.requests.post("/create_update",u,{headers:{"Content-Type":"application/json",...i?{"X-Node":i}:{}}},s)},[e])});var yr=e=>({updateEntity:useCallback(({model:r,domain:o,values:n,isCreateEndpoint:s=true,xNode:i,service:u,isSupa:m=false,supaCallback:l})=>{if(m&&l)return l(n);let C={model:r,domain:o,values:n};return e?.requests.post(s?"/create_update":"/call",C,{headers:{"Content-Type":"application/json",...i?{"X-Node":i}:{}}},u)},[e])});var gr=e=>({updateOrderStatus:useCallback(({orderId:r,state:o,xNode:n,service:s})=>{let i={order_id:r,state:o};return e?.requests.put("/pos-order/status",i,{headers:{"Content-Type":"application/json",...n?{"X-Node":n}:{}}},s)},[e])});var Sr=e=>({completeCurrentStage:useCallback(({ids:r,withContext:o,xNode:n,service:s,requestStageId:i})=>{let u={model:"pos_preparation_display.orderline",method:"complete_current_stage",ids:r,kwargs:{request_stage_id:i},with_context:o||{lang:"vi_VN",tz:"Asia/Ho_Chi_Minh",uid:2}};return e?.requests.post("/call",u,{headers:{"Content-Type":"application/json",...n?{"X-Node":n}:{}}},s)},[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:n}=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 n?(console.error("Error adding floor:",n),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:n}=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 n?(console.error("Error adding table:",n),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,...n}=r,{error:s}=await e.from("restaurant_floors").update(n).eq("id",o);return s?(console.error("Error updating floor:",s),!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,...n}=r,{error:s}=await e.from("restaurant_tables").update(n).eq("id",o);return s?(console.error("Error updating table:",s),!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 ne=()=>{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 Xn=[Ho,Io,Vo,Bo,Xo,Wo,Qo,Ko,$o,zo,Jo,Yo,Zo,er,tr,or,rr,nr,sr,ir,ur,cr,pr,mr,dr,lr,fr,yr,gr,Sr,Z,ee,te,oe,re,ne],f=()=>{let{env:e}=w(),t={};for(let r of Xn){let o=r(e);Object.assign(t,o);}return t};var Qn=()=>{let{forgotPassword:e}=A();return useMutation({mutationFn:t=>e(t)})},ae=Qn;var $n=()=>{let{forgotPasswordSSO:e}=A();return useMutation({mutationFn:({email:t,with_context:r,method:o})=>e({email:t,with_context:r,method:o})})},ue=$n;var Jn=()=>{let{getProviders:e}=A();return useMutation({mutationFn:t=>e(t?.db)})},ce=Jn;var Zn=()=>{let{isValidToken:e}=A();return useMutation({mutationFn:t=>e(t)})},pe=Zn;var ts=()=>{let{login:e}=A();return useMutation({mutationFn:t=>e(t)})},me=ts;var rs=()=>{let{loginSocial:e}=A();return useMutation({mutationFn:t=>e(t)})},de=rs;var ss=()=>{let{loginSupabase:e}=A();return useMutation({mutationFn:t=>e({email:t.email,password:t.password})})},le=ss;var as=()=>{let{resetPassword:e}=A();return useMutation({mutationFn:t=>e(t.data,t.token)})},fe=as;var cs=()=>{let{resetPasswordSSO:e}=A();return useMutation({mutationFn:({method:t,password:r,with_context:o})=>e({method:t,password:r,with_context:o})})},ye=cs;var ms=()=>{let{updatePassword:e}=A();return useMutation({mutationFn:t=>e(t.data,t.token)})},ge=ms;var ls=()=>{let{logout:e}=A();return useMutation({mutationFn:t=>e(t)})},Se=ls;var ys=()=>{let{getAccessByCode:e}=A();return useMutation({mutationFn:({code:t})=>e(t)})},Ce=ys;var Ss=()=>{let{isValidActionToken:e}=A();return useMutation({mutationFn:({actionToken:t})=>e(t)})},ve=Ss;var vs=()=>{let{getTenantMapping:e}=A();return useMutation({mutationFn:({shortName:t,service:r})=>e({shortName:t,service:r})})},he=vs;var xs=()=>{let{getToken:e}=A();return useMutation({mutationFn:({phone:t,name:r,service:o,xNode:n})=>e({phone:t,name:r,service:o,xNode:n})})},xe=xs;var Ps=()=>{let{getInfoCompany:e}=$();return useMutation({mutationFn:({service:t,id:r})=>e(r,t)})},_e=Ps;var bs=()=>{let{getCurrentCompany:e}=$();return useMutation({mutationFn:({service:t,extraHeaders:r})=>e(t,r)})},Pe=bs;var ws=(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=ws;var Gs=()=>{let{exportExcel:e}=q();return useMutation({mutationFn:({model:t,domain:r,ids:o,fields:n,type:s,importCompat:i,context:u,groupby:m,service:l,xNode:C})=>e({model:t,domain:r,ids:o,fields:n,type:s,importCompat:i,context:u,groupby:m,service:l,xNode:C})})},be=Gs;var Ds=()=>{let{getFieldExport:e}=q();return useMutation({mutationFn:({ids:t,model:r,isShow:o,parentField:n,fieldType:s,parentName:i,prefix:u,name:m,context:l,importCompat:C,service:_,xNode:p})=>e({ids:t,model:r,isShow:o,parentField:n,fieldType:s,parentName:i,prefix:u,name:m,context:l,importCompat:C,service:_,xNode:p})})},Ae=Ds;var Ms=({model:e,service:t,xNode:r,context:o})=>{let{getFileExcel:n}=q();return useQuery({queryKey:["excel",e],queryFn:()=>n({model:e,service:t,xNode:r,context:o}).then(s=>s||[]),refetchOnWindowFocus:false})},we=Ms;var Os=()=>{let{parsePreview:e}=q();return useMutation({mutationFn:({id:t,selectedSheet:r,isHeader:o,context:n,service:s,xNode:i})=>e({id:t,selectedSheet:r,isHeader:o,context:n,service:s,xNode:i})})},Ee=Os;var qs=()=>{let{uploadFileExcel:e}=q();return useMutation({mutationFn:({formData:t,service:r,xNode:o})=>e({formData:t,service:r,xNode:o})})},Ge=qs;var ks=()=>{let{uploadIdFile:e}=q();return useMutation({mutationFn:({formData:t,service:r,xNode:o})=>e({formData:t,service:r,xNode:o})})},Fe=ks;var Is=()=>{let{executeImport:e}=q();return useMutation({mutationFn:({fields:t,columns:r,idFile:o,options:n,dryrun:s,context:i,service:u,xNode:m})=>e({fields:t,columns:r,idFile:o,options:n,dryrun:s,context:i,service:u,xNode:m})})},De=Is;var Vs=()=>{let{changeStatus:e}=D();return useMutation({mutationFn:({data:t})=>e({data:t})})},Le=Vs;var Xs=()=>{let{deleteComment:e}=D();return useMutation({mutationFn:({data:t})=>e({data:t})})},Me=Xs;var Qs=({data:e,queryKey:t})=>{let{getComment:r}=D();return useQuery({queryKey:t,queryFn:()=>r({data:e}).then(o=>{if(o)return o}),enabled:!!e.thread_id&&!isNaN(e.thread_id),refetchOnWindowFocus:false})},Re=Qs;var $s=({data:e,queryKey:t,enabled:r})=>{let{getFormView:o}=D();return useQuery({queryKey:t,queryFn:()=>o({data:e}).then(n=>{if(n)return n}),enabled:r,refetchOnWindowFocus:false})},Oe=$s;var Js=()=>{let{sentComment:e}=D();return useMutation({mutationFn:({data:t})=>e({data:t})})},Ne=Js;var Zs=()=>{let{uploadImage:e}=D();return useMutation({mutationFn:({formData:t,service:r,xNode:o})=>e({formData:t,service:r,xNode:o})})},qe=Zs;var ti=()=>{let{uploadFile:e}=D();return useMutation({mutationFn:({formData:t,service:r,xNode:o,path:n})=>e({formData:t,service:r,xNode:o,path:n})})},Ue=ti;var ri=({data:e,queryKey:t,enabled:r,service:o,xNode:n})=>{let{getThreadData:s}=D();return useQuery({queryKey:t,queryFn:()=>s({data:e,service:o,xNode:n}).then(i=>{if(i)return i}),enabled:r,refetchOnWindowFocus:false})},ke=ri;var si=({data:e,queryKey:t,enabled:r,service:o,xNode:n})=>{let{getThreadMessages:s}=D();return useQuery({queryKey:t,queryFn:()=>s({data:e,service:o,xNode:n}).then(i=>{if(i)return i}),enabled:r,refetchOnWindowFocus:false})},je=si;var ai=({data:e,queryKey:t,enabled:r,service:o,xNode:n})=>{let{getExternalTab:s}=D();return useQuery({queryKey:t,queryFn:()=>s({method:e?.method,context:e?.context,service:o,xNode:n}).then(i=>{if(i)return i}),enabled:r,refetchOnWindowFocus:false})},Ie=ai;var ci=()=>{let{deleteApi:e}=E();return useMutation({mutationFn:({ids:t,model:r,service:o})=>e({ids:t,model:r,service:o})})},He=ci;var mi=({data:e,queryKey:t,viewResponse:r})=>{let{getAll:o}=E();return useQuery({queryKey:t,queryFn:()=>o({data:e}).then(n=>{if(n)return n}),enabled:!!e.specification&&!!e.model&&!!e.domain&&!!r,refetchOnWindowFocus:false})},Ve=mi;var li=()=>{let{getConversionRate:e}=E();return useQuery({queryKey:["currency-rate"],queryFn:()=>e().then(t=>{if(t)return t}),enabled:true})},Be=li;var yi=()=>{let{getCurrency:e}=E();return useQuery({queryKey:["currency"],queryFn:()=>e().then(t=>{if(t)return t}),enabled:true})},Xe=yi;var Si=()=>{let{getDetail:e}=E();return useMutation({mutationFn:({model:t,ids:r,specification:o,context:n,service:s,xNode:i})=>e({model:t,ids:r,specification:o,context:n,service:s,xNode:i})})},We=Si;var vi=({model:e,service:t,xNode:r,enabled:o})=>{let{getListFieldsOnchange:n}=E();return useQuery({queryKey:[`field-onchange-${e}`,e],queryFn:()=>n({model:e,service:t,xNode:r}).then(s=>{if(s)return s}),refetchOnWindowFocus:false,enabled:o,staleTime:1/0})},Qe=vi;var xi=({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(n=>{if(n)return n}),enabled:true})},Ke=xi;var Pi=()=>({initModel:useCallback(t=>{switch(t?.name){default:return new a$2(t)}},[])}),$e=Pi;var Ti=()=>{let{toDataJS:e,parseORMOdoo:t}=E();return {toDataJS:e,parseORM:t}},ze=Ti;var Ai=()=>{let{onChange:e}=E();return useMutation({mutationFn:({ids:t,model:r,specification:o,context:n,object:s,fieldChange:i,service:u,xNode:m})=>e({ids:t,model:r,specification:o,context:n,object:s,fieldChange:i,service:u,xNode:m})})},Je=Ai;var Ei=()=>{let{save:e}=E();return useMutation({mutationFn:({ids:t,model:r,data:o,specification:n,context:s,path:i,service:u,xNode:m})=>e({ids:t,model:r,data:o,specification:n,context:s,path:i,service:u,xNode:m})})},Ye=Ei;var Fi=(e,t,r)=>{let{getProfile:o}=W();return useMutation({mutationFn:()=>o(e,t,r)})},Ze=Fi;var Li=()=>{let{getUser:e}=W();return useMutation({mutationFn:({id:t,context:r})=>e({id:t,context:r})})},et=Li;var Ri=()=>{let{switchUserLocale:e}=W();return useMutation({mutationFn:({data:t,service:r})=>e({id:t.data.id,values:t.data.values,service:r})})},tt=Ri;var Ni=()=>{let{callButton:e}=O();return useMutation({mutationFn:({model:t,ids:r,context:o,method:n,service:s,xNode:i})=>e({model:t,ids:r,context:o,method:n,service:s,xNode:i}),onSuccess:t=>t})},ot=Ni;var Ui=()=>{let{duplicateRecord:e}=O();return useMutation({mutationFn:({id:t,model:r,context:o,service:n,xNode:s})=>e({id:t,model:r,context:o,service:n,xNode:s})})},rt=Ui;var ji=({aid:e,context:t,enabled:r,id:o,model:n,queryKey:s})=>{let {getActionDetail:i}=h();return useQuery({queryKey:s,queryFn:async()=>{if(e){let m=await i(e,t);if(m&&m.length>0)return m[0]}},enabled:r,refetchOnWindowFocus:false,staleTime:1/0})},nt=ji;var Hi=(e,t,r)=>{let{getListCalendar:o}=E();return useQuery({queryKey:t,queryFn:()=>o({data:e}).then(n=>n||[]),enabled:r,refetchOnWindowFocus:false,staleTime:0})},st=Hi;var Bi=({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})},it=Bi;var Wi=(e,t,r,o,n,s)=>{let{getAll:i}=E();return useQuery({queryKey:t,queryFn:()=>i({data:e,service:o,xNode:n,searchParams:s}).then(u=>u||[]),enabled:r,refetchOnWindowFocus:false,staleTime:0})},at=Wi;var Ki=(e,t,r,o,n)=>{let{getMenu:s}=h();return useQuery({queryKey:["menus",e],queryFn:()=>s(e,t,o,n).then(i=>i&&i?.records&&i?.records?.length>0?i?.records:[]),refetchOnWindowFocus:false,staleTime:1/0,enabled:r})},ut=Ki;var zi=()=>{let{getPrintReportName:e}=O();return useMutation({mutationFn:({id:t})=>e({id:t})})},ct=zi;var Yi=({field:e,color:t,model:r,width_context:o})=>{let{getProgressBar:n}=z();return useQuery({queryKey:[],queryFn:()=>n({field:e,color:t,model:r,width_context:o}).then(s=>s||[]),refetchOnWindowFocus:false})},pt=Yi;var ea=({data:e,queryKey:t,enabled:r,service:o,xNode:n})=>{let{getSelectionItem:s}=h();return useQuery({queryKey:t,queryFn:()=>s({data:e,service:o,xNode:n}),enabled:r,refetchOnWindowFocus:false})},mt=ea;var oa=({viewParams:e,enabled:t})=>{let{getView:r}=h();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=oa;var na=()=>{let{loadAction:e}=O();return useMutation({mutationFn:({idAction:t,context:r,service:o,xNode:n,searchParams:s})=>e({idAction:t,context:r,service:o,xNode:n,searchParams:s})})},lt=na;var ia=()=>{let{loadMessages:e}=h();return useQuery({queryKey:["load-message-failure"],queryFn:()=>e(),refetchOnWindowFocus:false})},ft=ia;var ua=()=>{let{print:e}=O();return useMutation({mutationFn:({id:t,report:r,db:o})=>e({id:t,report:r,db:o})})},yt=ua;var pa=()=>{let{removeRows:e}=O();return useMutation({mutationFn:({model:t,ids:r,context:o,service:n,xNode:s})=>e({model:t,ids:r,context:o,service:n,xNode:s})})},gt=pa;var da=()=>{let{getResequence:e}=h();return useMutation({mutationFn:({model:t,resIds:r,context:o,offset:n,xNode:s,service:i})=>e({model:t,ids:r,context:o,offset:n,xNode:s,service:i})})},St=da;var fa=()=>{let{runAction:e}=O();return useMutation({mutationFn:({idAction:t,context:r,service:o,xNode:n,searchParams:s})=>e({idAction:t,context:r,service:o,xNode:n,searchParams:s})})},Ct=fa;var ga=()=>{let{signInSSO:e}=h();return useMutation({mutationFn:({redirect_uri:t,state:r,client_id:o,response_type:n,path:s,scope:i})=>e({redirect_uri:t,state:r,client_id:o,response_type:n,path:s,scope:i})})},vt=ga;var Ca=()=>{let{verify2FA:e}=h();return useMutation({mutationFn:({method:t,with_context:r,code:o,device:n,location:s})=>e({method:t,with_context:r,code:o,device:n,location:s})})},ht=Ca;var ha=()=>{let{get2FAMethods:e}=h();return useMutation({mutationFn:({method:t,with_context:r})=>e({method:t,with_context:r})})},xt=ha;var _a=()=>{let{grantAccess:e}=h();return useMutation({mutationFn:({redirect_uri:t,state:r,client_id:o,scopes:n})=>e({redirect_uri:t,state:r,client_id:o,scopes:n})})},_t=_a;var Ta=()=>{let{removeTotpSetUp:e}=h();return useMutation({mutationFn:({method:t,token:r})=>e({method:t,token:r})})},Pt=Ta;var Aa=()=>{let{requestSetupTotp:e}=h();return useMutation({mutationFn:({method:t,token:r})=>e({method:t,token:r})})},Tt=Aa;var Ea=()=>{let{settingsWebRead2fa:e}=h();return useMutation({mutationFn:({method:t,token:r,kwargs:o,model:n})=>e({method:t,model:n,kwargs:o,token:r})})},bt=Ea;var Fa=()=>{let{verifyTotp:e}=h();return useMutation({mutationFn:({method:t,action_token:r,code:o})=>e({method:t,action_token:r,code:o})})},At=Fa;var La=()=>{let{generateSerialNumber:e}=O();return useMutation({mutationFn:({kwargs:t,context:r,service:o,xNode:n})=>e({kwargs:t,context:r,service:o,xNode:n})})},wt=La;var Ra=({service:e,xNode:t,body:r,queryKey:o=[],enabled:n})=>{let{getNotifications:s}=h();return useQuery({queryKey:o,queryFn:()=>s({body:r,service:e,xNode:t}).then(i=>i),enabled:n,refetchOnWindowFocus:false})},Et=Ra;var Na=()=>{let{getVersion:e}=h();return useMutation({mutationFn:()=>e()})},Gt=Na;var Ua=()=>{let{getWard:e}=h();return useMutation({mutationFn:({service:t,xNode:r,kwargs:o})=>e({service:t,xNode:r,kwargs:o})})},Ft=Ua;var ja=()=>{let{getCity:e}=h();return useMutation({mutationFn:({service:t,xNode:r,ids:o,kwargs:n})=>e({service:t,xNode:r,ids:o,kwargs:n})})},Dt=ja;var Ha=()=>{let{getCountry:e}=h();return useMutation({mutationFn:({service:t,xNode:r,ids:o,kwargs:n})=>e({service:t,xNode:r,ids:o,kwargs:n})})},Lt=Ha;var Ba=()=>{let{getPartnerTitle:e}=h();return useMutation({mutationFn:({service:t,xNode:r,kwargs:o,withContext:n})=>e({service:t,xNode:r,kwargs:o,withContext:n})})},Mt=Ba;var Wa=(e,t,r,o)=>{let{readGroup:n}=J();return useQuery({queryKey:[r],queryFn:()=>n({service:e,xNode:t,body:r}),refetchOnWindowFocus:false,enabled:o})},Rt=Wa;var Ka=(e,t,r,o,n,s,i)=>{let{getDataChart:u}=J();return useQuery({queryKey:[i],queryFn:()=>u({service:e,xNode:t,body:r,path:n,method:s}),refetchOnWindowFocus:false,enabled:o})},Ot=Ka;var za=()=>{let{addEntity:e}=f();return useMutation({mutationFn:e})},Nt=za;var Ya=()=>{let e=f();return useMutation({mutationFn:e.getASession})},qt=Ya;var eu=()=>{let e=f();return useMutation({mutationFn:e.changeOrderPreparationState})},Ut=eu;var ou=()=>{let e=f();return useMutation({mutationFn:e.checkPayment})},kt=ou;var nu=()=>{let e=f();return useMutation({mutationFn:e.createEInvoice})},jt=nu;var iu=()=>{let e=f();return useMutation({mutationFn:e.createEntity})},It=iu;var uu=()=>{let e=f();return useMutation({mutationFn:e.createPosConfig})},Ht=uu;var pu=()=>{let e=f();return useMutation({mutationFn:e.createSession})},Vt=pu;var du=()=>{let e=f();return useMutation({mutationFn:e.deleteEntity})},Bt=du;var fu=()=>{let e=f();return useMutation({mutationFn:e.generatePaymentQRInfo})},Xt=fu;var gu=()=>{let e=f();return useMutation({mutationFn:e.getCurrentUser})},Wt=gu;var Cu=()=>{let e=f();return useMutation({mutationFn:e.getList})},Qt=Cu;var hu=()=>{let e=f();return useMutation({mutationFn:e.getOrderLine})},Kt=hu;var _u=()=>{let e=f();return useMutation({mutationFn:e.getPinCode})},$t=_u;var Tu=()=>{let e=f();return useMutation({mutationFn:e.getPOS})},zt=Tu;var Au=()=>{let e=f();return useMutation({mutationFn:e.getPreparationDisplayData})},Jt=Au;var Eu=()=>{let e=f();return useMutation({mutationFn:e.getProductImage})},Yt=Eu;var Fu=()=>{let e=f();return useMutation({mutationFn:e.handleCloseSession})},Zt=Fu;var Lu=()=>{let e=f();return useMutation({mutationFn:e.handleClosingDetailSession})},eo=Lu;var Ru=()=>{let e=f();return useMutation({mutationFn:e.handleClosingSession})},to=Ru;var Nu=()=>{let e=f(),{env:t}=w();return useMutation({mutationFn:t.isSupaMode?e.loadDataPosSessionSupabase:e.loadDataPosSession})},oo=Nu;var Uu=()=>{let e=f();return useMutation({mutationFn:e.manageOnChange})},ro=Uu;var ju=()=>{let e=f();return useMutation({mutationFn:e.manageSession})},no=ju;var Hu=()=>{let e=f();return useMutation({mutationFn:e.processOrder})},so=Hu;var Bu=()=>{let e=f();return useMutation({mutationFn:e.savePinCode})},io=Bu;var Wu=()=>{let e=f();return useMutation({mutationFn:e.searchJournal})},ao=Wu;var Ku=()=>{let e=f();return useMutation({mutationFn:e.updateClosedSession})},uo=Ku;var zu=()=>{let e=f();return useMutation({mutationFn:e.updateEntity})},co=zu;var Yu=()=>{let e=f();return useMutation({mutationFn:e.updateOrderStatus})},po=Yu;var ec=()=>{let e=f();return useMutation({mutationFn:e.completeCurrentStage})},mo=ec;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:n}=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 n?(console.error("Error creating order:",n),null):[[o.id,o.pos_reference]]}catch(o){return console.error("Error creating order:",o),null}},[e])}};var rc=()=>{let{addFloorSupabase:e}=Z();return useMutation({mutationFn:e})},lo=rc;var sc=()=>{let{addTableSupabase:e}=ee();return useMutation({mutationFn:e})},fo=sc;var ac=()=>{let{updateFloorSupabase:e}=te();return useMutation({mutationFn:e})},yo=ac;var cc=()=>{let{updateTableSupabase:e}=oe();return useMutation({mutationFn:e})},go=cc;var mc=()=>{let{deleteFloorSupabase:e}=re();return useMutation({mutationFn:e})},So=mc;var lc=()=>{let{deleteTableSupabase:e}=ne();return useMutation({mutationFn:e})},Co=lc;var yc=()=>{let{createOrderSupabase:e}=To();return useMutation({mutationFn:e})},vo=yc;var vr=createContext(null),hr=({children:e})=>{let t={useForgotPassword:ae,useForgotPasswordSSO:ue,useGetProvider:ce,useIsValidToken:pe,useLoginCredential:me,useLoginSocial:de,useLoginSupa:le,useResetPassword:fe,useResetPasswordSSO:ye,useUpdatePassword:ge,useLogout:Se,useGetAccessByCode:Ce,useValidateActionToken:ve,useGetTenantMapping:he,useGetToken:xe};return jsx(vr.Provider,{value:t,children:e})},xr=()=>{let e=useContext(vr);if(!e)throw new Error("useAuthService must be used within an AuthServiceProvider");return e};var _r=createContext(null),Pr=({children:e})=>{let t={useGetCompanyInfo:_e,useGetCurrentCompany:Pe,useGetListCompany:Te};return jsx(_r.Provider,{value:t,children:e})},Tr=()=>{let e=useContext(_r);if(!e)throw new Error("useCompanyService must be used within a CompanyServiceProvider");return e};var br=createContext(null),Ar=({children:e})=>{let t={useExecuteImport:De,useExportExcel:be,useGetFieldExport:Ae,useGetFileExcel:we,useParsePreview:Ee,useUploadFileExcel:Ge,useUploadIdFile:Fe};return jsx(br.Provider,{value:t,children:e})},wr=()=>{let e=useContext(br);if(!e)throw new Error("useExcelService must be used within an ExcelServiceProvider");return e};var Er=createContext(null),Gr=({children:e})=>{let t={useChangeStatus:Le,useDeleteComment:Me,useGetComment:Re,useGetExternalTabs:Ie,useGetFormView:Oe,useGetThreadData:ke,useGetThreadMessages:je,useSendComment:Ne,useUploadFile:Ue,useUploadImage:qe};return jsx(Er.Provider,{value:t,children:e})},Fr=()=>{let e=useContext(Er);if(!e)throw new Error("useFormService must be used within a FormServiceProvider");return e};var Dr=createContext(null),Lr=({children:e})=>{let t={useDelete:He,useGetAll:Ve,useGetConversionRate:Be,useGetCurrency:Xe,useGetDetail:We,useGetFieldOnChange:Qe,useGetListMyBankAccount:Ke,useModel:$e,useOdooDataTransform:ze,useOnChangeForm:Je,useSave:Ye};return jsx(Dr.Provider,{value:t,children:e})},Mr=()=>{let e=useContext(Dr);if(!e)throw new Error("useModelService must be used within a ModelServiceProvider");return e};var Rr=createContext(null),Or=({children:e})=>{let t={useGetProfile:Ze,useGetUser:et,useSwitchLocale:tt};return jsx(Rr.Provider,{value:t,children:e})},Nr=()=>{let e=useContext(Rr);if(!e)throw new Error("useUserService must be used within a UserServiceProvider");return e};var qr=createContext(null),Ur=({children:e})=>{let t={useButton:ot,useDuplicateRecord:rt,useGet2FAMethods:xt,useGetActionDetail:nt,useGetCalendar:st,useGetGroups:it,useGetListData:at,useGetMenu:ut,useGetPrintReport:ct,useGetProGressBar:pt,useGetResequence:St,useGetSelection:mt,useGetView:dt,useLoadAction:lt,useLoadMessage:ft,usePrint:yt,useRemoveRow:gt,useRunAction:Ct,useSignInSSO:vt,useVerify2FA:ht,useGrantAccess:_t,useRemoveTotpSetup:Pt,useRequestSetupTotp:Tt,useSettingsWebRead2fa:bt,useVerifyTotp:At,useGenSerialNumber:wt,useGetNotifications:Et,useGetVersion:Gt,useGetWard:Ft,useGetCity:Dt,useGetCountry:Lt,useGetPartnerTitle:Mt};return jsx(qr.Provider,{value:t,children:e})},kr=()=>{let e=useContext(qr);if(!e)throw new Error("useViewService must be used within a ViewServiceProvider");return e};var jr=createContext(null),Ir=({children:e})=>{let t={useGetDataChart:Ot,useReadGroup:Rt};return jsx(jr.Provider,{value:t,children:e})},Hr=()=>{let e=useContext(jr);if(!e)throw new Error("useChartService must be used within a ChartServiceProvider");return e};var Vr=createContext(null),Br=({children:e})=>{let t={useAddEntity:Nt,useAddFloor:lo,useAddTable:fo,useChangeOrderPreparationState:Ut,useCheckPayment:kt,useCompleteCurrentStage:mo,useCreateEInvoice:jt,useCreateEntity:It,useCreateOrder:vo,useCreatePosConfig:Ht,useCreateSession:Vt,useDeleteEntity:Bt,useDeleteFloor:So,useDeleteTable:Co,useGeneratePaymentQrInfo:Xt,useGetASession:qt,useGetCurrentUser:Wt,useGetList:Qt,useGetOrderLine:Kt,useGetPinCode:$t,useGetPos:zt,useGetPreparationDisplayData:Jt,useGetProductImage:Yt,useHandleCloseSession:Zt,useHandleClosingDetailSession:eo,useHandleClosingSession:to,useLoadDataPosSession:oo,useManageOnChange:ro,useManageSession:no,useProcessOrder:so,useSavePinCode:io,useSearchJournal:ao,useUpdateClosedSession:uo,useUpdateEntity:co,useUpdateFloor:yo,useUpdateOrderStatus:po,useUpdateTable:go};return jsx(Vr.Provider,{value:t,children:e})},Xr=()=>{let e=useContext(Vr);if(!e)throw new Error("usePosService must be used within a PosServiceProvider");return e};var Wr=({children:e})=>{let{env:t}=w();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 n=document.querySelector('meta[name="description"]');if(n)n.setAttribute("content",o.display_name);else {let i=document.createElement("meta");i.name="description",i.content=o.display_name,document.head.appendChild(i);}let s=(i,u)=>{let m=document.querySelector(`link[rel="${i}"]`);m?m.href=u:(m=document.createElement("link"),m.rel=i,m.href=u,document.head.appendChild(m));};if(o.logo){s("icon",o.logo),s("apple-touch-icon",o.logo);let i=document.querySelector('link[href="favicon.ico"]');i&&i.remove();}}return useEffect(()=>{r();},[t?.defaultCompany]),jsx(Fragment,{children:e})};export{Te as $,Tt as $a,A,Je as Aa,Jt as Ab,$ as B,Ye as Ba,Yt as Bb,q as C,Ze as Ca,Zt as Cb,D,et as Da,eo as Db,z as E,tt as Ea,to as Eb,E as F,ot as Fa,oo as Fb,W as G,rt as Ga,ro as Gb,h as H,nt as Ha,no as Hb,J as I,st as Ia,so as Ib,f as J,it as Ja,io as Jb,ae as K,at as Ka,ao as Kb,ue as L,ut as La,uo as Lb,ce as M,ct as Ma,co as Mb,pe as N,pt as Na,po as Nb,me as O,mt as Oa,mo as Ob,de as P,dt as Pa,lo as Pb,le as Q,lt as Qa,fo as Qb,fe as R,ft as Ra,yo as Rb,ye as S,yt as Sa,go as Sb,ge as T,gt as Ta,So as Tb,Se as U,St as Ua,Co as Ub,Ce as V,Ct as Va,vo as Vb,ve as W,vt as Wa,he as X,ht as Xa,xe as Y,xt as Ya,_e as Z,_t as Za,Pe as _,Pt as _a,ie as a,be as aa,bt as ab,Lo as b,Ae as ba,At as bb,Ro as c,we as ca,wt as cb,w as d,Ee as da,Et as db,hr as e,Ge as ea,Gt as eb,xr as f,Fe as fa,Ft as fb,Pr as g,De as ga,Dt as gb,Tr as h,Le as ha,Lt as hb,Ar as i,Me as ia,Mt as ib,wr as j,Re as ja,Rt as jb,Gr as k,Oe as ka,Ot as kb,Fr as l,Ne as la,Nt as lb,Lr as m,qe as ma,qt as mb,Mr as n,Ue as na,Ut as nb,Or as o,ke as oa,kt as ob,Nr as p,je as pa,jt as pb,Ur as q,Ie as qa,It as qb,kr as r,He as ra,Ht as rb,Ir as s,Ve as sa,Vt as sb,Hr as t,Be as ta,Bt as tb,Br as u,Xe as ua,Xt as ub,Xr as v,We as va,Wt as vb,Wr as w,Qe as wa,Qt as wb,No as x,Ke as xa,Kt as xb,qo as y,$e as ya,$t as yb,O as z,ze as za,zt as zb};
|
package/dist/configs.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{a as axiosClient}from'./chunk-
|
|
1
|
+
export{a as axiosClient}from'./chunk-LYD7QJQX.mjs';import'./chunk-Y65DQP66.mjs';import'./chunk-CI6PEZ77.mjs';
|
package/dist/environment.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {a as a$1}from'./chunk-
|
|
1
|
+
import {a as a$1}from'./chunk-LYD7QJQX.mjs';import {a,b}from'./chunk-Y65DQP66.mjs';import'./chunk-CI6PEZ77.mjs';var r=class{listeners={};on(t,e){this.listeners[t]||(this.listeners[t]=[]),this.listeners[t].push(e);}emit(t,e){this.listeners[t]&&this.listeners[t].forEach(u=>u(e));}},i=class{state;emitter;localStorageUtil;sessionStorageUtil;constructor(t=a(),e=b){this.state={baseUrl:"",requests:null,companies:[],user:{},config:null,envFile:null,defaultCompany:{id:null,logo:"",secondary_color:"",primary_color:""},context:{uid:null,allowed_company_ids:[],lang:"vi_VN",tz:"Asia/Saigon"},localStorageUtils:t,sessionStorageUtils:e},this.emitter=new r,this.localStorageUtil=t,this.sessionStorageUtil=e;}getEnv(){return {...this.state}}onUpdate(t){this.emitter.on("update",t);}setupEnv(t){return this.state={...this.state,...t,localStorageUtils:this.localStorageUtil,sessionStorageUtils:this.sessionStorageUtil},this.state.requests=a$1.init(this.state),this.emitter.emit("update",this.getEnv()),this.getEnv()}setUid(t){this.state={...this.state,context:{...this.state.context,uid:t}},this.emitter.emit("update",this.getEnv());}setLang(t){this.state={...this.state,context:{...this.state.context,lang:t}},this.emitter.emit("update",this.getEnv());}setAllowCompanies(t){this.state={...this.state,context:{...this.state.context,allowed_company_ids:t}},this.emitter.emit("update",this.getEnv());}setCompanies(t){this.state={...this.state,companies:t},this.emitter.emit("update",this.getEnv());}setDefaultCompany(t){this.state={...this.state,defaultCompany:t},this.emitter.emit("update",this.getEnv());}setUserInfo(t){this.state={...this.state,user:t},this.emitter.emit("update",this.getEnv());}setConfig(t){this.state={...this.state,config:t},this.emitter.emit("update",this.getEnv());}setEnvFile(t){this.state={...this.state,envFile:t},this.emitter.emit("update",this.getEnv());}},s=null;function l({localStorageUtils:n=a(),sessionStorageUtils:t=b}){return s||(s=new i(n,t)),s}function h(){return s||(s=l({})),s?.getEnv()}export{i as EnvStore,h as getEnv,l as initEnv};
|
package/dist/hooks.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{
|
|
1
|
+
export{lb as useAddEntity,Pb as useAddFloor,Qb as useAddTable,Fa as useButton,nb as useChangeOrderPreparationState,ha as useChangeStatus,ob as useCheckPayment,Ob as useCompleteCurrentStage,pb as useCreateEInvoice,qb as useCreateEntity,Vb as useCreateOrder,rb as useCreatePosConfig,sb as useCreateSession,ra as useDelete,ia as useDeleteComment,tb as useDeleteEntity,Tb as useDeleteFloor,Ub as useDeleteTable,Ga as useDuplicateRecord,ga as useExecuteImport,aa as useExportExcel,K as useForgotPassword,L as useForgotPasswordSSO,cb as useGenSerialNumber,ub as useGeneratePaymentQrInfo,Ya as useGet2FAMethods,mb as useGetASession,V as useGetAccessByCode,Ha as useGetActionDetail,sa as useGetAll,Ia as useGetCalendar,gb as useGetCity,ja as useGetComment,Z as useGetCompanyInfo,ta as useGetConversionRate,hb as useGetCountry,ua as useGetCurrency,_ as useGetCurrentCompany,vb as useGetCurrentUser,kb as useGetDataChart,va as useGetDetail,qa as useGetExternalTabs,ba as useGetFieldExport,wa as useGetFieldOnChange,ca as useGetFileExcel,ka as useGetFormView,Ja as useGetGroups,wb as useGetList,$ as useGetListCompany,Ka as useGetListData,xa as useGetListMyBankAccount,La as useGetMenu,db as useGetNotifications,xb as useGetOrderLine,ib as useGetPartnerTitle,yb as useGetPinCode,zb as useGetPos,Ab as useGetPreparationDisplayData,Ma as useGetPrintReport,Na as useGetProGressBar,Bb as useGetProductImage,Ca as useGetProfile,M as useGetProvider,Ua as useGetResequence,Oa as useGetSelection,X as useGetTenantMapping,oa as useGetThreadData,pa as useGetThreadMessages,Y as useGetToken,Da as useGetUser,eb as useGetVersion,Pa as useGetView,fb as useGetWard,Za as useGrantAccess,Cb as useHandleCloseSession,Db as useHandleClosingDetailSession,Eb as useHandleClosingSession,N as useIsValidToken,Qa as useLoadAction,Fb as useLoadDataPosSession,Ra as useLoadMessage,O as useLoginCredential,P as useLoginSocial,Q as useLoginSupa,U as useLogout,Gb as useManageOnChange,Hb as useManageSession,ya as useModel,za as useOdooDataTransform,Aa as useOnChangeForm,da as useParsePreview,Sa as usePrint,Ib as useProcessOrder,jb as useReadGroup,Ta as useRemoveRow,_a as useRemoveTotpSetup,$a as useRequestSetupTotp,R as useResetPassword,S as useResetPasswordSSO,Va as useRunAction,Ba as useSave,Jb as useSavePinCode,Kb as useSearchJournal,la as useSendComment,ab as useSettingsWebRead2fa,Wa as useSignInSSO,Ea as useSwitchLocale,Lb as useUpdateClosedSession,Mb as useUpdateEntity,Rb as useUpdateFloor,Nb as useUpdateOrderStatus,T as useUpdatePassword,Sb as useUpdateTable,na as useUploadFile,ea as useUploadFileExcel,fa as useUploadIdFile,ma as useUploadImage,W as useValidateActionToken,Xa as useVerify2FA,bb as useVerifyTotp}from'./chunk-Y5QM3Y5X.mjs';import'./chunk-LYD7QJQX.mjs';import'./chunk-Y65DQP66.mjs';import'./chunk-LCUY2BJU.mjs';import'./chunk-KPELPP6F.mjs';import'./chunk-CI6PEZ77.mjs';
|
package/dist/provider.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import React$1, { ReactNode } from 'react';
|
|
3
3
|
import { L as LocalStorageUtilsType } from './local-storage-AbiOQTLK.mjs';
|
|
4
|
-
import { useForgotPassword, useForgotPasswordSSO, useGetProvider, useIsValidToken, useLoginCredential, useLoginSocial, useResetPassword, useResetPasswordSSO, useUpdatePassword, useLogout, useGetAccessByCode, useValidateActionToken, useGetCompanyInfo, useGetCurrentCompany, useGetListCompany, useExecuteImport, useExportExcel, useGetFieldExport, useGetFileExcel, useParsePreview, useUploadFileExcel, useUploadIdFile, useChangeStatus, useDeleteComment, useGetComment, useGetFormView, useSendComment, useUploadImage, useDelete, useGetAll, useGetConversionRate, useGetCurrency, useGetDetail, useGetFieldOnChange, useGetListMyBankAccount, useModel, useOdooDataTransform, useOnChangeForm, useSave, useGetProfile, useGetUser, useSwitchLocale, useButton, useDuplicateRecord, useGet2FAMethods, useGetActionDetail, useGetCalendar, useGetGroups, useGetListData, useGetMenu, useGetPrintReport, useGetProGressBar, useGetResequence, useGetSelection, useGetView, useLoadAction, useLoadMessage, usePrint, useRemoveRow, useRunAction, useSignInSSO, useVerify2FA, useGrantAccess, useRemoveTotpSetup, useRequestSetupTotp, useSettingsWebRead2fa, useVerifyTotp,
|
|
4
|
+
import { useForgotPassword, useForgotPasswordSSO, useGetProvider, useIsValidToken, useLoginCredential, useLoginSocial, useLoginSupa, useResetPassword, useResetPasswordSSO, useUpdatePassword, useLogout, useGetAccessByCode, useValidateActionToken, useGetTenantMapping, useGetToken, useGetCompanyInfo, useGetCurrentCompany, useGetListCompany, useExecuteImport, useExportExcel, useGetFieldExport, useGetFileExcel, useParsePreview, useUploadFileExcel, useUploadIdFile, useChangeStatus, useDeleteComment, useGetComment, useGetExternalTabs, useGetFormView, useGetThreadData, useGetThreadMessages, useSendComment, useUploadFile, useUploadImage, useDelete, useGetAll, useGetConversionRate, useGetCurrency, useGetDetail, useGetFieldOnChange, useGetListMyBankAccount, useModel, useOdooDataTransform, useOnChangeForm, useSave, useGetProfile, useGetUser, useSwitchLocale, useButton, useDuplicateRecord, useGet2FAMethods, useGetActionDetail, useGetCalendar, useGetGroups, useGetListData, useGetMenu, useGetPrintReport, useGetProGressBar, useGetResequence, useGetSelection, useGetView, useLoadAction, useLoadMessage, usePrint, useRemoveRow, useRunAction, useSignInSSO, useVerify2FA, useGrantAccess, useRemoveTotpSetup, useRequestSetupTotp, useSettingsWebRead2fa, useVerifyTotp, useGenSerialNumber, useGetNotifications, useGetVersion, useGetWard, useGetCity, useGetCountry, useGetPartnerTitle, useGetDataChart, useReadGroup, useAddEntity, useAddFloor, useAddTable, useChangeOrderPreparationState, useCheckPayment, useCompleteCurrentStage, useCreateEInvoice, useCreateEntity, useCreateOrder, useCreatePosConfig, useCreateSession, useDeleteEntity, useDeleteFloor, useDeleteTable, useGeneratePaymentQrInfo, useGetASession, useGetCurrentUser, useGetList, useGetOrderLine, useGetPinCode, useGetPos, useGetPreparationDisplayData, useGetProductImage, useHandleCloseSession, useHandleClosingDetailSession, useHandleClosingSession, useLoadDataPosSession, useManageOnChange, useManageSession, useProcessOrder, useSavePinCode, useSearchJournal, useUpdateClosedSession, useUpdateEntity, useUpdateFloor, useUpdateOrderStatus, useUpdateTable } from './hooks.mjs';
|
|
5
5
|
import { SupabaseClient } from '@supabase/supabase-js';
|
|
6
6
|
import '@tanstack/react-query';
|
|
7
7
|
import './view-type-CfcWWR0w.mjs';
|
|
@@ -65,22 +65,39 @@ declare function useEnv(): {
|
|
|
65
65
|
setEnvFile: (envFile: any) => void;
|
|
66
66
|
};
|
|
67
67
|
|
|
68
|
-
interface
|
|
68
|
+
interface AuthServiceContextType {
|
|
69
69
|
useForgotPassword: typeof useForgotPassword;
|
|
70
70
|
useForgotPasswordSSO: typeof useForgotPasswordSSO;
|
|
71
71
|
useGetProvider: typeof useGetProvider;
|
|
72
72
|
useIsValidToken: typeof useIsValidToken;
|
|
73
73
|
useLoginCredential: typeof useLoginCredential;
|
|
74
74
|
useLoginSocial: typeof useLoginSocial;
|
|
75
|
+
useLoginSupa: typeof useLoginSupa;
|
|
75
76
|
useResetPassword: typeof useResetPassword;
|
|
76
77
|
useResetPasswordSSO: typeof useResetPasswordSSO;
|
|
77
78
|
useUpdatePassword: typeof useUpdatePassword;
|
|
78
79
|
useLogout: typeof useLogout;
|
|
79
80
|
useGetAccessByCode: typeof useGetAccessByCode;
|
|
80
81
|
useValidateActionToken: typeof useValidateActionToken;
|
|
82
|
+
useGetTenantMapping: typeof useGetTenantMapping;
|
|
83
|
+
useGetToken: typeof useGetToken;
|
|
84
|
+
}
|
|
85
|
+
declare const AuthServiceProvider: ({ children }: {
|
|
86
|
+
children: ReactNode;
|
|
87
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
88
|
+
declare const useAuthService: () => AuthServiceContextType;
|
|
89
|
+
|
|
90
|
+
interface CompanyServiceContextType {
|
|
81
91
|
useGetCompanyInfo: typeof useGetCompanyInfo;
|
|
82
92
|
useGetCurrentCompany: typeof useGetCurrentCompany;
|
|
83
93
|
useGetListCompany: typeof useGetListCompany;
|
|
94
|
+
}
|
|
95
|
+
declare const CompanyServiceProvider: ({ children, }: {
|
|
96
|
+
children: ReactNode;
|
|
97
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
98
|
+
declare const useCompanyService: () => CompanyServiceContextType;
|
|
99
|
+
|
|
100
|
+
interface ExcelServiceContextType {
|
|
84
101
|
useExecuteImport: typeof useExecuteImport;
|
|
85
102
|
useExportExcel: typeof useExportExcel;
|
|
86
103
|
useGetFieldExport: typeof useGetFieldExport;
|
|
@@ -88,12 +105,30 @@ interface ServiceContextType {
|
|
|
88
105
|
useParsePreview: typeof useParsePreview;
|
|
89
106
|
useUploadFileExcel: typeof useUploadFileExcel;
|
|
90
107
|
useUploadIdFile: typeof useUploadIdFile;
|
|
108
|
+
}
|
|
109
|
+
declare const ExcelServiceProvider: ({ children }: {
|
|
110
|
+
children: ReactNode;
|
|
111
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
112
|
+
declare const useExcelService: () => ExcelServiceContextType;
|
|
113
|
+
|
|
114
|
+
interface FormServiceContextType {
|
|
91
115
|
useChangeStatus: typeof useChangeStatus;
|
|
92
116
|
useDeleteComment: typeof useDeleteComment;
|
|
93
117
|
useGetComment: typeof useGetComment;
|
|
118
|
+
useGetExternalTabs: typeof useGetExternalTabs;
|
|
94
119
|
useGetFormView: typeof useGetFormView;
|
|
120
|
+
useGetThreadData: typeof useGetThreadData;
|
|
121
|
+
useGetThreadMessages: typeof useGetThreadMessages;
|
|
95
122
|
useSendComment: typeof useSendComment;
|
|
123
|
+
useUploadFile: typeof useUploadFile;
|
|
96
124
|
useUploadImage: typeof useUploadImage;
|
|
125
|
+
}
|
|
126
|
+
declare const FormServiceProvider: ({ children }: {
|
|
127
|
+
children: ReactNode;
|
|
128
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
129
|
+
declare const useFormService: () => FormServiceContextType;
|
|
130
|
+
|
|
131
|
+
interface ModelServiceContextType {
|
|
97
132
|
useDelete: typeof useDelete;
|
|
98
133
|
useGetAll: typeof useGetAll;
|
|
99
134
|
useGetConversionRate: typeof useGetConversionRate;
|
|
@@ -105,9 +140,23 @@ interface ServiceContextType {
|
|
|
105
140
|
useOdooDataTransform: typeof useOdooDataTransform;
|
|
106
141
|
useOnChangeForm: typeof useOnChangeForm;
|
|
107
142
|
useSave: typeof useSave;
|
|
143
|
+
}
|
|
144
|
+
declare const ModelServiceProvider: ({ children }: {
|
|
145
|
+
children: ReactNode;
|
|
146
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
147
|
+
declare const useModelService: () => ModelServiceContextType;
|
|
148
|
+
|
|
149
|
+
interface UserServiceContextType {
|
|
108
150
|
useGetProfile: typeof useGetProfile;
|
|
109
151
|
useGetUser: typeof useGetUser;
|
|
110
152
|
useSwitchLocale: typeof useSwitchLocale;
|
|
153
|
+
}
|
|
154
|
+
declare const UserServiceProvider: ({ children }: {
|
|
155
|
+
children: ReactNode;
|
|
156
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
157
|
+
declare const useUserService: () => UserServiceContextType;
|
|
158
|
+
|
|
159
|
+
interface ViewServiceContextType {
|
|
111
160
|
useButton: typeof useButton;
|
|
112
161
|
useDuplicateRecord: typeof useDuplicateRecord;
|
|
113
162
|
useGet2FAMethods: typeof useGet2FAMethods;
|
|
@@ -133,64 +182,71 @@ interface ServiceContextType {
|
|
|
133
182
|
useRequestSetupTotp: typeof useRequestSetupTotp;
|
|
134
183
|
useSettingsWebRead2fa: typeof useSettingsWebRead2fa;
|
|
135
184
|
useVerifyTotp: typeof useVerifyTotp;
|
|
136
|
-
useUploadFile: typeof useUploadFile;
|
|
137
|
-
useCreateEntity: typeof useCreateEntity;
|
|
138
|
-
useGetASession: typeof useGetASession;
|
|
139
|
-
useCreateSession: typeof useCreateSession;
|
|
140
|
-
useDeleteEntity: typeof useDeleteEntity;
|
|
141
|
-
useGetList: typeof useGetList;
|
|
142
|
-
useGetPos: typeof useGetPos;
|
|
143
|
-
useHandleClosingSession: typeof useHandleClosingSession;
|
|
144
|
-
useManageSession: typeof useManageSession;
|
|
145
|
-
useUpdateClosedSession: typeof useUpdateClosedSession;
|
|
146
|
-
useUpdateEntity: typeof useUpdateEntity;
|
|
147
|
-
useLoadDataPosSession: typeof useLoadDataPosSession;
|
|
148
|
-
useManageOnChange: typeof useManageOnChange;
|
|
149
185
|
useGenSerialNumber: typeof useGenSerialNumber;
|
|
150
|
-
useGetOrderLine: typeof useGetOrderLine;
|
|
151
|
-
useGetProductImage: typeof useGetProductImage;
|
|
152
|
-
useAddEntity: typeof useAddEntity;
|
|
153
|
-
useCheckPayment: typeof useCheckPayment;
|
|
154
|
-
useHandleCloseSession: typeof useHandleCloseSession;
|
|
155
|
-
useHandleClosingDetailSession: typeof useHandleClosingDetailSession;
|
|
156
|
-
useCreatePosConfig: typeof useCreatePosConfig;
|
|
157
|
-
useSearchJournal: typeof useSearchJournal;
|
|
158
|
-
useGetTenantMapping: typeof useGetTenantMapping;
|
|
159
|
-
useGetToken: typeof useGetToken;
|
|
160
|
-
useGetPreparationDisplayData: typeof useGetPreparationDisplayData;
|
|
161
|
-
useUpdateOrderStatus: typeof useUpdateOrderStatus;
|
|
162
|
-
useGetThreadData: typeof useGetThreadData;
|
|
163
|
-
useGetThreadMessages: typeof useGetThreadMessages;
|
|
164
|
-
useGetExternalTabs: typeof useGetExternalTabs;
|
|
165
|
-
useProcessOrder: typeof useProcessOrder;
|
|
166
|
-
useGeneratePaymentQrInfo: typeof useGeneratePaymentQrInfo;
|
|
167
|
-
useSavePinCode: typeof useSavePinCode;
|
|
168
|
-
useGetPinCode: typeof useGetPinCode;
|
|
169
|
-
useReadGroup: typeof useReadGroup;
|
|
170
186
|
useGetNotifications: typeof useGetNotifications;
|
|
171
|
-
useGetDataChart: typeof useGetDataChart;
|
|
172
187
|
useGetVersion: typeof useGetVersion;
|
|
173
|
-
useCreateEInvoice: typeof useCreateEInvoice;
|
|
174
|
-
useGetCurrentUser: typeof useGetCurrentUser;
|
|
175
188
|
useGetWard: typeof useGetWard;
|
|
176
189
|
useGetCity: typeof useGetCity;
|
|
177
190
|
useGetCountry: typeof useGetCountry;
|
|
178
191
|
useGetPartnerTitle: typeof useGetPartnerTitle;
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
192
|
+
}
|
|
193
|
+
declare const ViewServiceProvider: ({ children }: {
|
|
194
|
+
children: ReactNode;
|
|
195
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
196
|
+
declare const useViewService: () => ViewServiceContextType;
|
|
197
|
+
|
|
198
|
+
interface ChartServiceContextType {
|
|
199
|
+
useGetDataChart: typeof useGetDataChart;
|
|
200
|
+
useReadGroup: typeof useReadGroup;
|
|
201
|
+
}
|
|
202
|
+
declare const ChartServiceProvider: ({ children }: {
|
|
203
|
+
children: ReactNode;
|
|
204
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
205
|
+
declare const useChartService: () => ChartServiceContextType;
|
|
206
|
+
|
|
207
|
+
interface PosServiceContextType {
|
|
208
|
+
useAddEntity: typeof useAddEntity;
|
|
182
209
|
useAddFloor: typeof useAddFloor;
|
|
183
210
|
useAddTable: typeof useAddTable;
|
|
211
|
+
useChangeOrderPreparationState: typeof useChangeOrderPreparationState;
|
|
212
|
+
useCheckPayment: typeof useCheckPayment;
|
|
213
|
+
useCompleteCurrentStage: typeof useCompleteCurrentStage;
|
|
214
|
+
useCreateEInvoice: typeof useCreateEInvoice;
|
|
215
|
+
useCreateEntity: typeof useCreateEntity;
|
|
216
|
+
useCreateOrder: typeof useCreateOrder;
|
|
217
|
+
useCreatePosConfig: typeof useCreatePosConfig;
|
|
218
|
+
useCreateSession: typeof useCreateSession;
|
|
219
|
+
useDeleteEntity: typeof useDeleteEntity;
|
|
184
220
|
useDeleteFloor: typeof useDeleteFloor;
|
|
185
221
|
useDeleteTable: typeof useDeleteTable;
|
|
222
|
+
useGeneratePaymentQrInfo: typeof useGeneratePaymentQrInfo;
|
|
223
|
+
useGetASession: typeof useGetASession;
|
|
224
|
+
useGetCurrentUser: typeof useGetCurrentUser;
|
|
225
|
+
useGetList: typeof useGetList;
|
|
226
|
+
useGetOrderLine: typeof useGetOrderLine;
|
|
227
|
+
useGetPinCode: typeof useGetPinCode;
|
|
228
|
+
useGetPos: typeof useGetPos;
|
|
229
|
+
useGetPreparationDisplayData: typeof useGetPreparationDisplayData;
|
|
230
|
+
useGetProductImage: typeof useGetProductImage;
|
|
231
|
+
useHandleCloseSession: typeof useHandleCloseSession;
|
|
232
|
+
useHandleClosingDetailSession: typeof useHandleClosingDetailSession;
|
|
233
|
+
useHandleClosingSession: typeof useHandleClosingSession;
|
|
234
|
+
useLoadDataPosSession: typeof useLoadDataPosSession;
|
|
235
|
+
useManageOnChange: typeof useManageOnChange;
|
|
236
|
+
useManageSession: typeof useManageSession;
|
|
237
|
+
useProcessOrder: typeof useProcessOrder;
|
|
238
|
+
useSavePinCode: typeof useSavePinCode;
|
|
239
|
+
useSearchJournal: typeof useSearchJournal;
|
|
240
|
+
useUpdateClosedSession: typeof useUpdateClosedSession;
|
|
241
|
+
useUpdateEntity: typeof useUpdateEntity;
|
|
186
242
|
useUpdateFloor: typeof useUpdateFloor;
|
|
243
|
+
useUpdateOrderStatus: typeof useUpdateOrderStatus;
|
|
187
244
|
useUpdateTable: typeof useUpdateTable;
|
|
188
|
-
useCreateOrder: typeof useCreateOrder;
|
|
189
245
|
}
|
|
190
|
-
declare const
|
|
191
|
-
children:
|
|
246
|
+
declare const PosServiceProvider: ({ children }: {
|
|
247
|
+
children: ReactNode;
|
|
192
248
|
}) => react_jsx_runtime.JSX.Element;
|
|
193
|
-
declare const
|
|
249
|
+
declare const usePosService: () => PosServiceContextType;
|
|
194
250
|
|
|
195
251
|
type MetaProviderProps = {
|
|
196
252
|
children: ReactNode;
|
|
@@ -206,4 +262,4 @@ type SupabaseProviderProps = {
|
|
|
206
262
|
declare const SupabaseProvider: ({ supabaseUrl, supabaseKey, schema, children, }: SupabaseProviderProps) => react_jsx_runtime.JSX.Element;
|
|
207
263
|
declare const useSupabase: () => SupabaseClient<any, any, any, any, any>;
|
|
208
264
|
|
|
209
|
-
export { EnvProvider, MainProvider, MetaProvider,
|
|
265
|
+
export { AuthServiceProvider, ChartServiceProvider, CompanyServiceProvider, EnvProvider, ExcelServiceProvider, FormServiceProvider, MainProvider, MetaProvider, ModelServiceProvider, PosServiceProvider, ReactQueryProvider, SupabaseProvider, UserServiceProvider, ViewServiceProvider, useAuthService, useChartService, useCompanyService, useEnv, useExcelService, useFormService, useModelService, usePosService, useSupabase, useUserService, useViewService };
|
package/dist/provider.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{c as EnvProvider,b as MainProvider,
|
|
1
|
+
export{e as AuthServiceProvider,s as ChartServiceProvider,g as CompanyServiceProvider,c as EnvProvider,i as ExcelServiceProvider,k as FormServiceProvider,b as MainProvider,w as MetaProvider,m as ModelServiceProvider,u as PosServiceProvider,a as ReactQueryProvider,x as SupabaseProvider,o as UserServiceProvider,q as ViewServiceProvider,f as useAuthService,t as useChartService,h as useCompanyService,d as useEnv,j as useExcelService,l as useFormService,n as useModelService,v as usePosService,y as useSupabase,p as useUserService,r as useViewService}from'./chunk-Y5QM3Y5X.mjs';import'./chunk-LYD7QJQX.mjs';import'./chunk-Y65DQP66.mjs';import'./chunk-LCUY2BJU.mjs';import'./chunk-KPELPP6F.mjs';import'./chunk-CI6PEZ77.mjs';
|
package/dist/services.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{
|
|
1
|
+
export{z as useActionService,A as useAuthService,B as useCompanyService,I as useDashboardService,C as useExcelService,D as useFormService,E as useKanbanService,F as useModelService,J as usePosService,G as useUserService,H as useViewService}from'./chunk-Y5QM3Y5X.mjs';import'./chunk-LYD7QJQX.mjs';import'./chunk-Y65DQP66.mjs';import'./chunk-LCUY2BJU.mjs';import'./chunk-KPELPP6F.mjs';import'./chunk-CI6PEZ77.mjs';
|
package/package.json
CHANGED
package/dist/chunk-BWSA2O6Z.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import {a as a$1}from'./chunk-TKG5NQ2J.mjs';import {b,a,n,o}from'./chunk-Y65DQP66.mjs';import {a as a$2}from'./chunk-LCUY2BJU.mjs';import {d,f as f$1}from'./chunk-KPELPP6F.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,schema:r="public",children:o})=>{let s=useMemo(()=>!e||!t?null:createClient(e,t,{db:{schema:r}}),[e,t,r]);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};
|
package/dist/chunk-TKG5NQ2J.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {a,b,p}from'./chunk-Y65DQP66.mjs';import k from'axios';function I(n,l){return n.split(",").map(d=>d.trim()).filter(d=>!l?.some(_=>d?.startsWith(_))).join(",")}var x={init(n){let l=n?.localStorageUtils??a(),d=n?.sessionStorageUtils??b,_=n?.db,N=n?.config?.database,T=false,R=[],U=(e,s=null)=>{R?.forEach(t=>{e?t.reject(e):t.resolve(s);}),R=[];},u=k.create({adapter:k.defaults.adapter,baseURL:n?.baseUrl,timeout:5e4,paramsSerializer:e=>new URLSearchParams(e).toString()});u.interceptors.request.use(async e=>{let s=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"],y=I(s,n?.excludeLanguages),a=null;return r&&c?a=c:a=await(t?l.getRefreshToken:l.getAccessToken)?.(),a&&(e.headers.Authorization=`Bearer ${a}`),N&&(e.headers.DATABASE=N),e.headers["Accept-Language"]=y,e},Promise.reject);let B=()=>{if(!n.refreshTokenEndpoint)return `${g(n?.baseUrl)}/authentication/oauth2/token`;let e=String(n.refreshTokenEndpoint);if(/^https?:\/\//i.test(e))return e;let s=String(n?.baseUrl||"").replace(/\/$/,""),t=e.startsWith("/")?e:`/${e}`;return `${s}${t}`};u.interceptors.response.use(e=>b$1(e),async e=>{let s=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){R.push({resolve:a,reject:f});}).then(a=>(t.headers.Authorization="Bearer "+a,t.data=p(t,a),u.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 d.getBrowserSession(),c=await l.getRefreshToken(),y=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:n.config.clientId,client_secret:n.config.clientSecret}).filter(([i,o])=>!!o)),f=B();return new Promise(function(i){k.post(f,a,{headers:{"Content-Type":n.refreshTokenEndpoint?"application/x-www-form-urlencoded":"multipart/form-data",Authorization:`Bearer ${y}`}}).then(async o=>{let h=o.data;await l.setToken(h.access_token),await l.setRefreshToken(h.refresh_token),k.defaults.headers.common.Authorization="Bearer "+h.access_token,t.headers.Authorization="Bearer "+h.access_token,t.data=p(t,h.access_token),U(null,h.access_token),i(u.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:v}=o;(h==="AUTHEN_FAIL"||v==="ERR_2FA_006")&&await p$1();}U(o,null);}).finally(()=>{T=false;});})}}return Promise.reject(await s(e))}),u.interceptors.response.use(e=>b$1(e),async e=>{let s=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){R.push({resolve:a,reject:f});}).then(a=>(t.headers.Authorization="Bearer "+a,t.data=p(t,a),u.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 d.getBrowserSession(),c=await l.getRefreshToken(),y=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:n.config.clientId,client_secret:n.config.clientSecret}).filter(([f,i])=>!!i));return new Promise(function(f){k.post(`${n?.baseUrl}${n.refreshTokenEndpoint??"/authentication/oauth2/token"}`,a,{headers:{"Content-Type":n.refreshTokenEndpoint?"application/x-www-form-urlencoded":"multipart/form-data",Authorization:`Bearer ${y}`}}).then(async i=>{let o=i.data;await l.setToken(o.access_token),await l.setRefreshToken(o.refresh_token),k.defaults.headers.common.Authorization="Bearer "+o.access_token,t.headers.Authorization="Bearer "+o.access_token,t.data=p(t,o.access_token),U(null,o.access_token),f(u.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();}U(i,null);}).finally(()=>{T=false;});})}}return Promise.reject(await s(e))});let b$1=e=>e&&e.data?e.data:e,p$1=async()=>{await l.clearToken(),typeof window<"u"&&(window.location.href="/login");};function E(e,s){return e+(s?"?db="+s:"")}let g=(e,s)=>`${e.replace(/\/$/,"")}/${s||d.getMenuFocus().service||n?.default_service}/api/v2`,w=e=>({headers:{...e.headers,...d.getXNode()?{"X-Node":d.getXNode()}:{}}}),A=e=>e;return {get:(e,s,t)=>u.get(E(g(n?.baseUrl,t)+e,_),w(s)).then(A),post:async(e,s,t,r)=>u.post(E(g(n?.baseUrl,r)+e,_),s,w(t)).then(A),post_excel:(e,s,t,r)=>u.post(E(g(n?.baseUrl,r)+e,_),s,{responseType:"arraybuffer",headers:{"Content-Type":typeof window<"u"?"application/json":"application/javascript",Accept:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",...t,...d.getXNode()?{"X-Node":d.getXNode()}:{}}}).then(A),put:(e,s,t,r)=>u.put(E(g(n?.baseUrl,r)+e,_),s,w(t)).then(A),patch:(e,s,t,r)=>u.patch(E(g(n?.baseUrl,r)+e,_),s,w(t)).then(A),delete:(e,s,t)=>u.delete(E(g(n?.baseUrl,t)+e,_),w(s)).then(A)}}};
|
|
2
|
-
export{x as a};
|