@fctc/interface-logic 4.4.0 → 4.4.1

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/hooks.js CHANGED
@@ -103,7 +103,6 @@ __export(hooks_exports, {
103
103
  useHandleCloseSession: () => use_handle_close_session_default,
104
104
  useHandleClosingDetailSession: () => use_handle_closing_detail_session_default,
105
105
  useHandleClosingSession: () => use_handle_closing_session_default,
106
- useInitSnapshot: () => use_init_snapshot_default,
107
106
  useIsValidToken: () => use_isvalid_token_default,
108
107
  useLoadAction: () => use_load_action_default,
109
108
  useLoadDataPosSession: () => use_load_data_pos_session_default,
@@ -151,7 +150,7 @@ module.exports = __toCommonJS(hooks_exports);
151
150
  var import_react_query3 = require("@tanstack/react-query");
152
151
 
153
152
  // src/services/action-service/index.ts
154
- var import_react7 = require("react");
153
+ var import_react8 = require("react");
155
154
 
156
155
  // src/constants/api/uri-constant.ts
157
156
  var UriConstants = /* @__PURE__ */ ((UriConstants2) => {
@@ -202,6 +201,58 @@ var UriConstants = /* @__PURE__ */ ((UriConstants2) => {
202
201
  // src/utils/format.ts
203
202
  var import_moment = __toESM(require("moment"));
204
203
 
204
+ // src/constants/model/model-constant.ts
205
+ var LoadDataModel = /* @__PURE__ */ ((LoadDataModel2) => {
206
+ LoadDataModel2["ACCOUNT_CASH_ROUNDING"] = "account.cash.rounding";
207
+ LoadDataModel2["ACCOUNT_FISCAL_POSITION"] = "account.fiscal.position";
208
+ LoadDataModel2["ACCOUNT_FISCAL_POSITION_TAX"] = "account.fiscal.position.tax";
209
+ LoadDataModel2["ACCOUNT_TAX"] = "account.tax";
210
+ LoadDataModel2["ACCOUNT_TAX_GROUP"] = "account.tax.group";
211
+ LoadDataModel2["DECIMAL_PRECISION"] = "decimal.precision";
212
+ LoadDataModel2["IR_MODULE_MODULE"] = "ir.module.module";
213
+ LoadDataModel2["IR_UI_VIEW"] = "ir.ui.view";
214
+ LoadDataModel2["POS_BILL"] = "pos.bill";
215
+ LoadDataModel2["POS_CATEGORY"] = "pos.category";
216
+ LoadDataModel2["POS_CONFIG"] = "pos.config";
217
+ LoadDataModel2["POS_NOTE"] = "pos.note";
218
+ LoadDataModel2["POS_ORDER"] = "pos.order";
219
+ LoadDataModel2["POS_ORDER_LINE"] = "pos.order.line";
220
+ LoadDataModel2["POS_PACK_OPERATION_LOT"] = "pos.pack.operation.lot";
221
+ LoadDataModel2["POS_PAYMENT"] = "pos.payment";
222
+ LoadDataModel2["POS_PAYMENT_METHOD"] = "pos.payment.method";
223
+ LoadDataModel2["POS_PRINTER"] = "pos.printer";
224
+ LoadDataModel2["POS_SESSION"] = "pos.session";
225
+ LoadDataModel2["POS_PREPARATION_DISPLAY_DISPLAY"] = "pos_preparation_display.display";
226
+ LoadDataModel2["PRODUCT_ATTRIBUTE"] = "product.attribute";
227
+ LoadDataModel2["PRODUCT_ATTRIBUTE_CUSTOM_VALUE"] = "product.attribute.custom.value";
228
+ LoadDataModel2["PRODUCT_CATEGORY"] = "product.category";
229
+ LoadDataModel2["PRODUCT_COMBO"] = "product.combo";
230
+ LoadDataModel2["PRODUCT_COMBO_ITEM"] = "product.combo.item";
231
+ LoadDataModel2["PRODUCT_PACKAGING"] = "product.packaging";
232
+ LoadDataModel2["PRODUCT_PRICELIST"] = "product.pricelist";
233
+ LoadDataModel2["PRODUCT_PRICELIST_ITEM"] = "product.pricelist.item";
234
+ LoadDataModel2["PRODUCT_PRODUCT"] = "product.product";
235
+ LoadDataModel2["PRODUCT_TAG"] = "product.tag";
236
+ LoadDataModel2["PRODUCT_TEMPLATE_ATTRIBUTE_LINE"] = "product.template.attribute.line";
237
+ LoadDataModel2["PRODUCT_TEMPLATE_ATTRIBUTE_VALUE"] = "product.template.attribute.value";
238
+ LoadDataModel2["RES_COMPANY"] = "res.company";
239
+ LoadDataModel2["RES_COUNTRY"] = "res.country";
240
+ LoadDataModel2["RES_COUNTRY_STATE"] = "res.country.state";
241
+ LoadDataModel2["RES_CURRENCY"] = "res.currency";
242
+ LoadDataModel2["RES_LANG"] = "res.lang";
243
+ LoadDataModel2["RES_PARTNER"] = "res.partner";
244
+ LoadDataModel2["RES_USERS"] = "res.users";
245
+ LoadDataModel2["STOCK_PICKING_TYPE"] = "stock.picking.type";
246
+ LoadDataModel2["UOM_CATEGORY"] = "uom.category";
247
+ LoadDataModel2["UOM_UOM"] = "uom.uom";
248
+ LoadDataModel2["LOYALTY_PROGRAM"] = "loyalty.program";
249
+ LoadDataModel2["LOYALTY_RULE"] = "loyalty.rule";
250
+ LoadDataModel2["RESTAURANT_TABLE"] = "restaurant.table";
251
+ LoadDataModel2["RESTAURANT_FLOOR"] = "restaurant.floor";
252
+ LoadDataModel2["POS_MAKE_PAYMENT"] = "pos.make.payment";
253
+ return LoadDataModel2;
254
+ })(LoadDataModel || {});
255
+
205
256
  // src/constants/widget/widget-avatar-constant.ts
206
257
  var WIDGETAVATAR = /* @__PURE__ */ ((WIDGETAVATAR2) => {
207
258
  WIDGETAVATAR2["many2one_avatar_user"] = "many2one_avatar_user";
@@ -2352,13 +2403,6 @@ function cleanObject(obj) {
2352
2403
  }
2353
2404
  return result;
2354
2405
  }
2355
- var extractIdFromDomain = (domain) => {
2356
- if (!domain || !Array.isArray(domain)) return null;
2357
- const idCond = domain.find(
2358
- ([field, operator]) => field === "id" && operator === "="
2359
- );
2360
- return idCond ? Number(idCond[2]) : null;
2361
- };
2362
2406
 
2363
2407
  // src/provider/react-query-provider.tsx
2364
2408
  var import_react2 = require("react");
@@ -2411,7 +2455,7 @@ var initialState2 = {
2411
2455
  lang: "vi_VN",
2412
2456
  tz: "Asia/Saigon"
2413
2457
  },
2414
- isLocalMode: false
2458
+ isSupaMode: false
2415
2459
  };
2416
2460
  var envSlice = (0, import_toolkit2.createSlice)({
2417
2461
  name: "env",
@@ -3026,10 +3070,25 @@ var ServiceContext = (0, import_react5.createContext)(null);
3026
3070
  var import_react6 = require("react");
3027
3071
  var import_jsx_runtime7 = require("react/jsx-runtime");
3028
3072
 
3073
+ // src/provider/supabase-provider.tsx
3074
+ var import_react7 = require("react");
3075
+ var import_supabase_js = require("@supabase/supabase-js");
3076
+ var import_jsx_runtime8 = require("react/jsx-runtime");
3077
+ var SupabaseContext = (0, import_react7.createContext)(null);
3078
+ var useSupabase = () => {
3079
+ const context = (0, import_react7.useContext)(SupabaseContext);
3080
+ if (!context) {
3081
+ throw new Error(
3082
+ "useSupabase must be used within a SupabaseProvider or check your env config"
3083
+ );
3084
+ }
3085
+ return context;
3086
+ };
3087
+
3029
3088
  // src/services/action-service/index.ts
3030
3089
  function useActionService() {
3031
3090
  const { env } = useEnv();
3032
- const loadAction = (0, import_react7.useCallback)(
3091
+ const loadAction = (0, import_react8.useCallback)(
3033
3092
  async ({
3034
3093
  idAction,
3035
3094
  context,
@@ -3053,7 +3112,7 @@ function useActionService() {
3053
3112
  },
3054
3113
  [env]
3055
3114
  );
3056
- const callButton = (0, import_react7.useCallback)(
3115
+ const callButton = (0, import_react8.useCallback)(
3057
3116
  async ({
3058
3117
  model,
3059
3118
  ids = [],
@@ -3087,7 +3146,7 @@ function useActionService() {
3087
3146
  },
3088
3147
  [env]
3089
3148
  );
3090
- const removeRows = (0, import_react7.useCallback)(
3149
+ const removeRows = (0, import_react8.useCallback)(
3091
3150
  async ({
3092
3151
  model,
3093
3152
  ids,
@@ -3113,7 +3172,7 @@ function useActionService() {
3113
3172
  },
3114
3173
  [env]
3115
3174
  );
3116
- const duplicateRecord = (0, import_react7.useCallback)(
3175
+ const duplicateRecord = (0, import_react8.useCallback)(
3117
3176
  async ({
3118
3177
  model,
3119
3178
  id,
@@ -3139,7 +3198,7 @@ function useActionService() {
3139
3198
  },
3140
3199
  [env]
3141
3200
  );
3142
- const getPrintReportName = (0, import_react7.useCallback)(
3201
+ const getPrintReportName = (0, import_react8.useCallback)(
3143
3202
  async ({ id }) => {
3144
3203
  const jsonData = {
3145
3204
  model: "ir.actions.report",
@@ -3157,7 +3216,7 @@ function useActionService() {
3157
3216
  },
3158
3217
  [env]
3159
3218
  );
3160
- const print = (0, import_react7.useCallback)(
3219
+ const print = (0, import_react8.useCallback)(
3161
3220
  async ({ id, report, db }) => {
3162
3221
  const jsonData = {
3163
3222
  report,
@@ -3175,7 +3234,7 @@ function useActionService() {
3175
3234
  },
3176
3235
  [env]
3177
3236
  );
3178
- const runAction = (0, import_react7.useCallback)(
3237
+ const runAction = (0, import_react8.useCallback)(
3179
3238
  async ({
3180
3239
  idAction,
3181
3240
  context,
@@ -3202,7 +3261,7 @@ function useActionService() {
3202
3261
  },
3203
3262
  [env]
3204
3263
  );
3205
- const generateSerialNumber = (0, import_react7.useCallback)(
3264
+ const generateSerialNumber = (0, import_react8.useCallback)(
3206
3265
  async ({
3207
3266
  kwargs,
3208
3267
  context,
@@ -3240,10 +3299,10 @@ function useActionService() {
3240
3299
  }
3241
3300
 
3242
3301
  // src/services/auth-service/index.ts
3243
- var import_react8 = require("react");
3302
+ var import_react9 = require("react");
3244
3303
  function useAuthService() {
3245
3304
  const { env } = useEnv();
3246
- const login = (0, import_react8.useCallback)(
3305
+ const login = (0, import_react9.useCallback)(
3247
3306
  async (body) => {
3248
3307
  const payload = Object.fromEntries(
3249
3308
  Object.entries({
@@ -3268,7 +3327,7 @@ function useAuthService() {
3268
3327
  },
3269
3328
  [env]
3270
3329
  );
3271
- const forgotPassword = (0, import_react8.useCallback)(
3330
+ const forgotPassword = (0, import_react9.useCallback)(
3272
3331
  async (email) => {
3273
3332
  const bodyData = {
3274
3333
  login: email,
@@ -3282,7 +3341,7 @@ function useAuthService() {
3282
3341
  },
3283
3342
  [env]
3284
3343
  );
3285
- const forgotPasswordSSO = (0, import_react8.useCallback)(
3344
+ const forgotPasswordSSO = (0, import_react9.useCallback)(
3286
3345
  async ({
3287
3346
  email,
3288
3347
  with_context,
@@ -3305,7 +3364,7 @@ function useAuthService() {
3305
3364
  },
3306
3365
  [env]
3307
3366
  );
3308
- const resetPassword = (0, import_react8.useCallback)(
3367
+ const resetPassword = (0, import_react9.useCallback)(
3309
3368
  async (data, token) => {
3310
3369
  const bodyData = {
3311
3370
  token,
@@ -3320,7 +3379,7 @@ function useAuthService() {
3320
3379
  },
3321
3380
  [env]
3322
3381
  );
3323
- const resetPasswordSSO = (0, import_react8.useCallback)(
3382
+ const resetPasswordSSO = (0, import_react9.useCallback)(
3324
3383
  async ({
3325
3384
  method,
3326
3385
  password,
@@ -3343,7 +3402,7 @@ function useAuthService() {
3343
3402
  },
3344
3403
  [env]
3345
3404
  );
3346
- const updatePassword = (0, import_react8.useCallback)(
3405
+ const updatePassword = (0, import_react9.useCallback)(
3347
3406
  async (data, token) => {
3348
3407
  const bodyData = {
3349
3408
  token,
@@ -3358,7 +3417,7 @@ function useAuthService() {
3358
3417
  },
3359
3418
  [env]
3360
3419
  );
3361
- const isValidToken = (0, import_react8.useCallback)(
3420
+ const isValidToken = (0, import_react9.useCallback)(
3362
3421
  async (token) => {
3363
3422
  const bodyData = {
3364
3423
  token
@@ -3371,7 +3430,7 @@ function useAuthService() {
3371
3430
  },
3372
3431
  [env]
3373
3432
  );
3374
- const isValidActionToken = (0, import_react8.useCallback)(
3433
+ const isValidActionToken = (0, import_react9.useCallback)(
3375
3434
  async (actionToken) => {
3376
3435
  const bodyData = {};
3377
3436
  return env?.requests?.post("/action-token/validate" /* VALIDATE_ACTION_TOKEN */, bodyData, {
@@ -3384,7 +3443,7 @@ function useAuthService() {
3384
3443
  },
3385
3444
  [env]
3386
3445
  );
3387
- const loginSocial = (0, import_react8.useCallback)(
3446
+ const loginSocial = (0, import_react9.useCallback)(
3388
3447
  async ({
3389
3448
  db,
3390
3449
  state,
@@ -3402,13 +3461,13 @@ function useAuthService() {
3402
3461
  },
3403
3462
  [env]
3404
3463
  );
3405
- const getProviders = (0, import_react8.useCallback)(
3464
+ const getProviders = (0, import_react9.useCallback)(
3406
3465
  async (db) => {
3407
3466
  return env?.requests?.get("/oauth/providers", { params: { db } });
3408
3467
  },
3409
3468
  [env]
3410
3469
  );
3411
- const getAccessByCode = (0, import_react8.useCallback)(
3470
+ const getAccessByCode = (0, import_react9.useCallback)(
3412
3471
  async (code) => {
3413
3472
  const data = new URLSearchParams();
3414
3473
  data.append("code", code);
@@ -3428,7 +3487,7 @@ function useAuthService() {
3428
3487
  },
3429
3488
  [env]
3430
3489
  );
3431
- const logout = (0, import_react8.useCallback)(
3490
+ const logout = (0, import_react9.useCallback)(
3432
3491
  async (service) => {
3433
3492
  return env?.requests?.post(
3434
3493
  "/logout" /* LOGOUT */,
@@ -3445,7 +3504,7 @@ function useAuthService() {
3445
3504
  },
3446
3505
  [env]
3447
3506
  );
3448
- const getTenantMapping = (0, import_react8.useCallback)(
3507
+ const getTenantMapping = (0, import_react9.useCallback)(
3449
3508
  async ({ shortName, service }) => {
3450
3509
  const bodyData = {
3451
3510
  short_name: shortName
@@ -3463,7 +3522,7 @@ function useAuthService() {
3463
3522
  },
3464
3523
  [env]
3465
3524
  );
3466
- const getToken = (0, import_react8.useCallback)(
3525
+ const getToken = (0, import_react9.useCallback)(
3467
3526
  async ({
3468
3527
  phone,
3469
3528
  name,
@@ -3507,10 +3566,10 @@ function useAuthService() {
3507
3566
  }
3508
3567
 
3509
3568
  // src/services/company-service/index.ts
3510
- var import_react9 = require("react");
3569
+ var import_react10 = require("react");
3511
3570
  function useCompanyService() {
3512
3571
  const { env } = useEnv();
3513
- const getCurrentCompany = (0, import_react9.useCallback)(
3572
+ const getCurrentCompany = (0, import_react10.useCallback)(
3514
3573
  async (service, extraHeaders) => {
3515
3574
  return await env.requests.get(
3516
3575
  "/company" /* COMPANY_PATH */,
@@ -3527,7 +3586,7 @@ function useCompanyService() {
3527
3586
  },
3528
3587
  [env]
3529
3588
  );
3530
- const getInfoCompany = (0, import_react9.useCallback)(
3589
+ const getInfoCompany = (0, import_react10.useCallback)(
3531
3590
  async (id, service) => {
3532
3591
  const jsonData = {
3533
3592
  ids: [id],
@@ -3563,10 +3622,10 @@ function useCompanyService() {
3563
3622
  }
3564
3623
 
3565
3624
  // src/services/excel-service/index.ts
3566
- var import_react10 = require("react");
3625
+ var import_react11 = require("react");
3567
3626
  function useExcelService() {
3568
3627
  const { env } = useEnv();
3569
- const uploadFileExcel = (0, import_react10.useCallback)(
3628
+ const uploadFileExcel = (0, import_react11.useCallback)(
3570
3629
  async ({
3571
3630
  formData,
3572
3631
  service,
@@ -3583,7 +3642,7 @@ function useExcelService() {
3583
3642
  },
3584
3643
  [env]
3585
3644
  );
3586
- const uploadIdFile = (0, import_react10.useCallback)(
3645
+ const uploadIdFile = (0, import_react11.useCallback)(
3587
3646
  async ({
3588
3647
  formData,
3589
3648
  service,
@@ -3600,7 +3659,7 @@ function useExcelService() {
3600
3659
  },
3601
3660
  [env]
3602
3661
  );
3603
- const parsePreview = (0, import_react10.useCallback)(
3662
+ const parsePreview = (0, import_react11.useCallback)(
3604
3663
  async ({
3605
3664
  id,
3606
3665
  selectedSheet,
@@ -3649,7 +3708,7 @@ function useExcelService() {
3649
3708
  },
3650
3709
  [env]
3651
3710
  );
3652
- const executeImport = (0, import_react10.useCallback)(
3711
+ const executeImport = (0, import_react11.useCallback)(
3653
3712
  async ({
3654
3713
  columns,
3655
3714
  fields,
@@ -3683,7 +3742,7 @@ function useExcelService() {
3683
3742
  },
3684
3743
  [env]
3685
3744
  );
3686
- const getFileExcel = (0, import_react10.useCallback)(
3745
+ const getFileExcel = (0, import_react11.useCallback)(
3687
3746
  async ({
3688
3747
  model,
3689
3748
  service,
@@ -3707,7 +3766,7 @@ function useExcelService() {
3707
3766
  },
3708
3767
  [env]
3709
3768
  );
3710
- const getFieldExport = (0, import_react10.useCallback)(
3769
+ const getFieldExport = (0, import_react11.useCallback)(
3711
3770
  async ({
3712
3771
  ids,
3713
3772
  model,
@@ -3747,7 +3806,7 @@ function useExcelService() {
3747
3806
  },
3748
3807
  [env]
3749
3808
  );
3750
- const exportExcel = (0, import_react10.useCallback)(
3809
+ const exportExcel = (0, import_react11.useCallback)(
3751
3810
  async ({
3752
3811
  model,
3753
3812
  domain,
@@ -3795,10 +3854,10 @@ function useExcelService() {
3795
3854
  }
3796
3855
 
3797
3856
  // src/services/form-service/index.ts
3798
- var import_react11 = require("react");
3857
+ var import_react12 = require("react");
3799
3858
  function useFormService() {
3800
3859
  const { env } = useEnv();
3801
- const getComment = (0, import_react11.useCallback)(
3860
+ const getComment = (0, import_react12.useCallback)(
3802
3861
  async ({ data }) => {
3803
3862
  const jsonData = {
3804
3863
  thread_id: data.thread_id,
@@ -3816,7 +3875,7 @@ function useFormService() {
3816
3875
  },
3817
3876
  [env]
3818
3877
  );
3819
- const getThreadData = (0, import_react11.useCallback)(
3878
+ const getThreadData = (0, import_react12.useCallback)(
3820
3879
  async ({
3821
3880
  data,
3822
3881
  xNode,
@@ -3843,7 +3902,7 @@ function useFormService() {
3843
3902
  },
3844
3903
  [env]
3845
3904
  );
3846
- const getThreadMessages = (0, import_react11.useCallback)(
3905
+ const getThreadMessages = (0, import_react12.useCallback)(
3847
3906
  async ({
3848
3907
  data,
3849
3908
  xNode,
@@ -3869,7 +3928,7 @@ function useFormService() {
3869
3928
  },
3870
3929
  [env]
3871
3930
  );
3872
- const sentComment = (0, import_react11.useCallback)(
3931
+ const sentComment = (0, import_react12.useCallback)(
3873
3932
  async ({ data }) => {
3874
3933
  const jsonData = {
3875
3934
  context: {
@@ -3897,7 +3956,7 @@ function useFormService() {
3897
3956
  },
3898
3957
  [env]
3899
3958
  );
3900
- const deleteComment = (0, import_react11.useCallback)(
3959
+ const deleteComment = (0, import_react12.useCallback)(
3901
3960
  async ({ data }) => {
3902
3961
  const jsonData = {
3903
3962
  attachment_ids: [],
@@ -3913,7 +3972,7 @@ function useFormService() {
3913
3972
  },
3914
3973
  [env]
3915
3974
  );
3916
- const getImage = (0, import_react11.useCallback)(
3975
+ const getImage = (0, import_react12.useCallback)(
3917
3976
  async ({ data }) => {
3918
3977
  return env.requests.get(
3919
3978
  `${"/web/image" /* IMAGE_PATH */}?filename=${data.filename}&unique=${data.checksum}&width=1920&height=300`,
@@ -3926,7 +3985,7 @@ function useFormService() {
3926
3985
  },
3927
3986
  [env]
3928
3987
  );
3929
- const uploadImage = (0, import_react11.useCallback)(
3988
+ const uploadImage = (0, import_react12.useCallback)(
3930
3989
  async ({
3931
3990
  formData,
3932
3991
  service,
@@ -3945,7 +4004,7 @@ function useFormService() {
3945
4004
  },
3946
4005
  [env]
3947
4006
  );
3948
- const uploadFile = (0, import_react11.useCallback)(
4007
+ const uploadFile = (0, import_react12.useCallback)(
3949
4008
  async ({
3950
4009
  formData,
3951
4010
  service,
@@ -3965,7 +4024,7 @@ function useFormService() {
3965
4024
  },
3966
4025
  [env]
3967
4026
  );
3968
- const getFormView = (0, import_react11.useCallback)(
4027
+ const getFormView = (0, import_react12.useCallback)(
3969
4028
  async ({ data }) => {
3970
4029
  const jsonData = {
3971
4030
  model: data.model,
@@ -3981,7 +4040,7 @@ function useFormService() {
3981
4040
  },
3982
4041
  [env]
3983
4042
  );
3984
- const changeStatus = (0, import_react11.useCallback)(
4043
+ const changeStatus = (0, import_react12.useCallback)(
3985
4044
  async ({ data }) => {
3986
4045
  const vals = {
3987
4046
  [data.name]: data.stage_id
@@ -4010,7 +4069,7 @@ function useFormService() {
4010
4069
  },
4011
4070
  [env]
4012
4071
  );
4013
- const getExternalTab = (0, import_react11.useCallback)(
4072
+ const getExternalTab = (0, import_react12.useCallback)(
4014
4073
  async ({ method, context, service, xNode }) => {
4015
4074
  return env?.requests?.post(
4016
4075
  "/call" /* CALL_PATH */,
@@ -4045,10 +4104,10 @@ function useFormService() {
4045
4104
  }
4046
4105
 
4047
4106
  // src/services/kanban-service/index.ts
4048
- var import_react12 = require("react");
4107
+ var import_react13 = require("react");
4049
4108
  function useKanbanService() {
4050
4109
  const { env } = useEnv();
4051
- const getGroups = (0, import_react12.useCallback)(
4110
+ const getGroups = (0, import_react13.useCallback)(
4052
4111
  async ({ model, width_context }) => {
4053
4112
  const jsonData = {
4054
4113
  model,
@@ -4068,7 +4127,7 @@ function useKanbanService() {
4068
4127
  },
4069
4128
  [env]
4070
4129
  );
4071
- const getProgressBar = (0, import_react12.useCallback)(
4130
+ const getProgressBar = (0, import_react13.useCallback)(
4072
4131
  async ({ field, color, model, width_context }) => {
4073
4132
  const jsonData = {
4074
4133
  model,
@@ -4098,10 +4157,10 @@ function useKanbanService() {
4098
4157
  }
4099
4158
 
4100
4159
  // src/services/model-service/index.ts
4101
- var import_react13 = require("react");
4160
+ var import_react14 = require("react");
4102
4161
  function useModelService() {
4103
4162
  const { env } = useEnv();
4104
- const getListMyBankAccount = (0, import_react13.useCallback)(
4163
+ const getListMyBankAccount = (0, import_react14.useCallback)(
4105
4164
  async ({
4106
4165
  domain,
4107
4166
  spectification,
@@ -4125,7 +4184,7 @@ function useModelService() {
4125
4184
  },
4126
4185
  [env]
4127
4186
  );
4128
- const getCurrency = (0, import_react13.useCallback)(async () => {
4187
+ const getCurrency = (0, import_react14.useCallback)(async () => {
4129
4188
  const jsonData = {
4130
4189
  model: "res.currency",
4131
4190
  method: "web_search_read",
@@ -4145,7 +4204,7 @@ function useModelService() {
4145
4204
  }
4146
4205
  });
4147
4206
  }, [env]);
4148
- const getConversionRate = (0, import_react13.useCallback)(async () => {
4207
+ const getConversionRate = (0, import_react14.useCallback)(async () => {
4149
4208
  const jsonData = {
4150
4209
  model: "res.currency",
4151
4210
  method: "web_search_read",
@@ -4171,7 +4230,7 @@ function useModelService() {
4171
4230
  }
4172
4231
  });
4173
4232
  }, [env]);
4174
- const getAll = (0, import_react13.useCallback)(
4233
+ const getAll = (0, import_react14.useCallback)(
4175
4234
  async ({
4176
4235
  data,
4177
4236
  service,
@@ -4213,7 +4272,7 @@ function useModelService() {
4213
4272
  },
4214
4273
  [env]
4215
4274
  );
4216
- const getListCalendar = (0, import_react13.useCallback)(
4275
+ const getListCalendar = (0, import_react14.useCallback)(
4217
4276
  async ({ data }) => {
4218
4277
  const jsonReadGroup = data.type == "calendar" ? data?.fields : data.fields && data.fields.length > 0 && data.groupby && data.groupby.length > 0 && data.groupby[0] ? {
4219
4278
  fields: data.fields,
@@ -4244,7 +4303,7 @@ function useModelService() {
4244
4303
  },
4245
4304
  [env]
4246
4305
  );
4247
- const getList = (0, import_react13.useCallback)(
4306
+ const getList = (0, import_react14.useCallback)(
4248
4307
  async ({
4249
4308
  model,
4250
4309
  ids = [],
@@ -4276,7 +4335,7 @@ function useModelService() {
4276
4335
  },
4277
4336
  [env]
4278
4337
  );
4279
- const getDetail = (0, import_react13.useCallback)(
4338
+ const getDetail = (0, import_react14.useCallback)(
4280
4339
  async ({
4281
4340
  ids = [],
4282
4341
  model,
@@ -4308,7 +4367,7 @@ function useModelService() {
4308
4367
  },
4309
4368
  [env]
4310
4369
  );
4311
- const save = (0, import_react13.useCallback)(
4370
+ const save = (0, import_react14.useCallback)(
4312
4371
  async ({
4313
4372
  model,
4314
4373
  ids = [],
@@ -4343,7 +4402,7 @@ function useModelService() {
4343
4402
  },
4344
4403
  [env]
4345
4404
  );
4346
- const deleteApi = (0, import_react13.useCallback)(
4405
+ const deleteApi = (0, import_react14.useCallback)(
4347
4406
  async ({ ids = [], model, service }) => {
4348
4407
  const jsonData = {
4349
4408
  model,
@@ -4363,7 +4422,7 @@ function useModelService() {
4363
4422
  },
4364
4423
  [env]
4365
4424
  );
4366
- const onChange = (0, import_react13.useCallback)(
4425
+ const onChange = (0, import_react14.useCallback)(
4367
4426
  async ({
4368
4427
  ids = [],
4369
4428
  model,
@@ -4399,7 +4458,7 @@ function useModelService() {
4399
4458
  },
4400
4459
  [env]
4401
4460
  );
4402
- const getListFieldsOnchange = (0, import_react13.useCallback)(
4461
+ const getListFieldsOnchange = (0, import_react14.useCallback)(
4403
4462
  async ({
4404
4463
  model,
4405
4464
  service,
@@ -4423,7 +4482,7 @@ function useModelService() {
4423
4482
  },
4424
4483
  [env]
4425
4484
  );
4426
- const parseORMOdoo = (0, import_react13.useCallback)((data) => {
4485
+ const parseORMOdoo = (0, import_react14.useCallback)((data) => {
4427
4486
  for (const key in data) {
4428
4487
  if (key === "display_name") {
4429
4488
  delete data[key];
@@ -4434,7 +4493,7 @@ function useModelService() {
4434
4493
  }
4435
4494
  return { ...data };
4436
4495
  }, []);
4437
- const toDataJS = (0, import_react13.useCallback)(
4496
+ const toDataJS = (0, import_react14.useCallback)(
4438
4497
  (data, viewData, model) => {
4439
4498
  for (const key in data) {
4440
4499
  if (data[key] === false) {
@@ -4492,10 +4551,10 @@ function useModelService() {
4492
4551
  }
4493
4552
 
4494
4553
  // src/services/user-service/index.ts
4495
- var import_react14 = require("react");
4554
+ var import_react15 = require("react");
4496
4555
  function useUserService() {
4497
4556
  const { env } = useEnv();
4498
- const getProfile = (0, import_react14.useCallback)(
4557
+ const getProfile = (0, import_react15.useCallback)(
4499
4558
  async (service, path, extraHeaders) => {
4500
4559
  return env?.requests?.get(
4501
4560
  path || "/userinfo" /* PROFILE_PATH */,
@@ -4512,7 +4571,7 @@ function useUserService() {
4512
4571
  },
4513
4572
  [env]
4514
4573
  );
4515
- const getUser = (0, import_react14.useCallback)(
4574
+ const getUser = (0, import_react15.useCallback)(
4516
4575
  async ({ context, id }) => {
4517
4576
  const jsonData = {
4518
4577
  model: "res.users",
@@ -4550,7 +4609,7 @@ function useUserService() {
4550
4609
  },
4551
4610
  [env]
4552
4611
  );
4553
- const switchUserLocale = (0, import_react14.useCallback)(
4612
+ const switchUserLocale = (0, import_react15.useCallback)(
4554
4613
  async ({ id, values, service }) => {
4555
4614
  const jsonData = {
4556
4615
  model: "res.users",
@@ -4578,10 +4637,10 @@ function useUserService() {
4578
4637
  }
4579
4638
 
4580
4639
  // src/services/view-service/index.ts
4581
- var import_react15 = require("react");
4640
+ var import_react16 = require("react");
4582
4641
  function useViewService() {
4583
4642
  const { env } = useEnv();
4584
- const getView = (0, import_react15.useCallback)(
4643
+ const getView = (0, import_react16.useCallback)(
4585
4644
  async ({
4586
4645
  model,
4587
4646
  views,
@@ -4621,7 +4680,7 @@ function useViewService() {
4621
4680
  },
4622
4681
  [env]
4623
4682
  );
4624
- const getMenu = (0, import_react15.useCallback)(
4683
+ const getMenu = (0, import_react16.useCallback)(
4625
4684
  async (context, specification, domain, service) => {
4626
4685
  const jsonData = {
4627
4686
  model: "ir.ui.menu" /* MENU */,
@@ -4652,7 +4711,7 @@ function useViewService() {
4652
4711
  },
4653
4712
  [env]
4654
4713
  );
4655
- const getActionDetail = (0, import_react15.useCallback)(
4714
+ const getActionDetail = (0, import_react16.useCallback)(
4656
4715
  async (aid, context) => {
4657
4716
  const jsonData = {
4658
4717
  model: "ir.actions.act_window" /* WINDOW_ACTION */,
@@ -4682,7 +4741,7 @@ function useViewService() {
4682
4741
  },
4683
4742
  [env]
4684
4743
  );
4685
- const getResequence = (0, import_react15.useCallback)(
4744
+ const getResequence = (0, import_react16.useCallback)(
4686
4745
  async ({
4687
4746
  model,
4688
4747
  ids,
@@ -4712,7 +4771,7 @@ function useViewService() {
4712
4771
  },
4713
4772
  [env]
4714
4773
  );
4715
- const getSelectionItem = (0, import_react15.useCallback)(
4774
+ const getSelectionItem = (0, import_react16.useCallback)(
4716
4775
  async ({
4717
4776
  data,
4718
4777
  service,
@@ -4749,7 +4808,7 @@ function useViewService() {
4749
4808
  },
4750
4809
  [env]
4751
4810
  );
4752
- const loadMessages = (0, import_react15.useCallback)(async () => {
4811
+ const loadMessages = (0, import_react16.useCallback)(async () => {
4753
4812
  return env.requests.post(
4754
4813
  "/load_message_failures" /* LOAD_MESSAGE */,
4755
4814
  {},
@@ -4760,14 +4819,14 @@ function useViewService() {
4760
4819
  }
4761
4820
  );
4762
4821
  }, [env]);
4763
- const getVersion = (0, import_react15.useCallback)(async () => {
4822
+ const getVersion = (0, import_react16.useCallback)(async () => {
4764
4823
  return env?.requests?.get("", {
4765
4824
  headers: {
4766
4825
  "Content-Type": "application/json"
4767
4826
  }
4768
4827
  });
4769
4828
  }, [env]);
4770
- const grantAccess = (0, import_react15.useCallback)(
4829
+ const grantAccess = (0, import_react16.useCallback)(
4771
4830
  async ({
4772
4831
  redirect_uri,
4773
4832
  state,
@@ -4794,7 +4853,7 @@ function useViewService() {
4794
4853
  },
4795
4854
  [env]
4796
4855
  );
4797
- const removeTotpSetUp = (0, import_react15.useCallback)(
4856
+ const removeTotpSetUp = (0, import_react16.useCallback)(
4798
4857
  async ({ method, token }) => {
4799
4858
  const jsonData = {
4800
4859
  method,
@@ -4815,7 +4874,7 @@ function useViewService() {
4815
4874
  },
4816
4875
  [env]
4817
4876
  );
4818
- const requestSetupTotp = (0, import_react15.useCallback)(
4877
+ const requestSetupTotp = (0, import_react16.useCallback)(
4819
4878
  async ({ method, token }) => {
4820
4879
  const jsonData = {
4821
4880
  method,
@@ -4834,7 +4893,7 @@ function useViewService() {
4834
4893
  },
4835
4894
  [env]
4836
4895
  );
4837
- const settingsWebRead2fa = (0, import_react15.useCallback)(
4896
+ const settingsWebRead2fa = (0, import_react16.useCallback)(
4838
4897
  async ({
4839
4898
  method,
4840
4899
  model,
@@ -4862,7 +4921,7 @@ function useViewService() {
4862
4921
  },
4863
4922
  [env]
4864
4923
  );
4865
- const signInSSO = (0, import_react15.useCallback)(
4924
+ const signInSSO = (0, import_react16.useCallback)(
4866
4925
  async ({
4867
4926
  redirect_uri,
4868
4927
  state,
@@ -4894,7 +4953,7 @@ function useViewService() {
4894
4953
  },
4895
4954
  [env]
4896
4955
  );
4897
- const verify2FA = (0, import_react15.useCallback)(
4956
+ const verify2FA = (0, import_react16.useCallback)(
4898
4957
  ({
4899
4958
  method,
4900
4959
  with_context,
@@ -4927,7 +4986,7 @@ function useViewService() {
4927
4986
  },
4928
4987
  [env]
4929
4988
  );
4930
- const get2FAMethods = (0, import_react15.useCallback)(
4989
+ const get2FAMethods = (0, import_react16.useCallback)(
4931
4990
  ({ method, with_context }) => {
4932
4991
  const jsonData = {
4933
4992
  method,
@@ -4946,7 +5005,7 @@ function useViewService() {
4946
5005
  },
4947
5006
  [env]
4948
5007
  );
4949
- const verifyTotp = (0, import_react15.useCallback)(
5008
+ const verifyTotp = (0, import_react16.useCallback)(
4950
5009
  ({
4951
5010
  method,
4952
5011
  action_token,
@@ -4971,7 +5030,7 @@ function useViewService() {
4971
5030
  },
4972
5031
  [env]
4973
5032
  );
4974
- const getNotifications = (0, import_react15.useCallback)(
5033
+ const getNotifications = (0, import_react16.useCallback)(
4975
5034
  async ({
4976
5035
  service,
4977
5036
  xNode,
@@ -4991,7 +5050,7 @@ function useViewService() {
4991
5050
  },
4992
5051
  [env]
4993
5052
  );
4994
- const getCountry = (0, import_react15.useCallback)(
5053
+ const getCountry = (0, import_react16.useCallback)(
4995
5054
  async ({
4996
5055
  service,
4997
5056
  xNode,
@@ -5018,7 +5077,7 @@ function useViewService() {
5018
5077
  },
5019
5078
  [env]
5020
5079
  );
5021
- const getCity = (0, import_react15.useCallback)(
5080
+ const getCity = (0, import_react16.useCallback)(
5022
5081
  async ({
5023
5082
  service,
5024
5083
  xNode,
@@ -5045,7 +5104,7 @@ function useViewService() {
5045
5104
  },
5046
5105
  [env]
5047
5106
  );
5048
- const getWard = (0, import_react15.useCallback)(
5107
+ const getWard = (0, import_react16.useCallback)(
5049
5108
  async ({
5050
5109
  service,
5051
5110
  xNode,
@@ -5070,7 +5129,7 @@ function useViewService() {
5070
5129
  },
5071
5130
  [env]
5072
5131
  );
5073
- const getPartnerTitle = (0, import_react15.useCallback)(
5132
+ const getPartnerTitle = (0, import_react16.useCallback)(
5074
5133
  async ({
5075
5134
  service,
5076
5135
  xNode,
@@ -5122,10 +5181,10 @@ function useViewService() {
5122
5181
  }
5123
5182
 
5124
5183
  // src/services/dashboard-service/index.ts
5125
- var import_react16 = require("react");
5184
+ var import_react17 = require("react");
5126
5185
  function useDashboardService() {
5127
5186
  const { env } = useEnv();
5128
- const readGroup = (0, import_react16.useCallback)(
5187
+ const readGroup = (0, import_react17.useCallback)(
5129
5188
  async ({
5130
5189
  service,
5131
5190
  xNode,
@@ -5142,7 +5201,7 @@ function useDashboardService() {
5142
5201
  },
5143
5202
  [env]
5144
5203
  );
5145
- const getDataChart = (0, import_react16.useCallback)(
5204
+ const getDataChart = (0, import_react17.useCallback)(
5146
5205
  async ({
5147
5206
  service,
5148
5207
  xNode,
@@ -5178,9 +5237,9 @@ function useDashboardService() {
5178
5237
  }
5179
5238
 
5180
5239
  // src/services/pos-service/get-a-session.ts
5181
- var import_react17 = require("react");
5240
+ var import_react18 = require("react");
5182
5241
  var getASessionService = (env) => {
5183
- const getASession = (0, import_react17.useCallback)(
5242
+ const getASession = (0, import_react18.useCallback)(
5184
5243
  async ({
5185
5244
  model,
5186
5245
  args,
@@ -5229,546 +5288,9 @@ var getASessionService = (env) => {
5229
5288
  };
5230
5289
 
5231
5290
  // src/services/pos-service/add-entity.ts
5232
- var import_react18 = require("react");
5233
-
5234
- // src/services/filesystem-service/file-service.ts
5235
- var import_filesystem = require("@capacitor/filesystem");
5236
- var fileService = {
5237
- read: async (path) => {
5238
- try {
5239
- const res = await import_filesystem.Filesystem.readFile({
5240
- path,
5241
- directory: import_filesystem.Directory.Data,
5242
- encoding: import_filesystem.Encoding.UTF8
5243
- });
5244
- if (typeof res.data === "string") return res.data;
5245
- if (res.data instanceof Blob) return await res.data.text();
5246
- return null;
5247
- } catch {
5248
- return null;
5249
- }
5250
- },
5251
- write: async (path, data) => {
5252
- await import_filesystem.Filesystem.writeFile({
5253
- path,
5254
- data,
5255
- directory: import_filesystem.Directory.Data,
5256
- encoding: import_filesystem.Encoding.UTF8,
5257
- recursive: true
5258
- });
5259
- },
5260
- writeAtomic: async (path, data) => {
5261
- const tempPath = path + ".tmp";
5262
- await import_filesystem.Filesystem.writeFile({
5263
- path: tempPath,
5264
- data,
5265
- directory: import_filesystem.Directory.Data,
5266
- encoding: import_filesystem.Encoding.UTF8,
5267
- recursive: true
5268
- });
5269
- try {
5270
- await import_filesystem.Filesystem.deleteFile({
5271
- path,
5272
- directory: import_filesystem.Directory.Data
5273
- });
5274
- } catch {
5275
- }
5276
- await import_filesystem.Filesystem.rename({
5277
- from: tempPath,
5278
- to: path,
5279
- directory: import_filesystem.Directory.Data
5280
- });
5281
- },
5282
- delete: async (path) => {
5283
- try {
5284
- await import_filesystem.Filesystem.deleteFile({
5285
- path,
5286
- directory: import_filesystem.Directory.Data
5287
- });
5288
- } catch {
5289
- }
5290
- },
5291
- exists: async (path) => {
5292
- try {
5293
- await import_filesystem.Filesystem.stat({
5294
- path,
5295
- directory: import_filesystem.Directory.Data
5296
- });
5297
- return true;
5298
- } catch {
5299
- return false;
5300
- }
5301
- },
5302
- mkdir: async (path) => {
5303
- try {
5304
- await import_filesystem.Filesystem.mkdir({
5305
- path,
5306
- directory: import_filesystem.Directory.Data,
5307
- recursive: true
5308
- });
5309
- } catch (e) {
5310
- if (!String(e?.message).includes("Exists")) {
5311
- throw e;
5312
- }
5313
- }
5314
- },
5315
- list: async (path) => {
5316
- return import_filesystem.Filesystem.readdir({
5317
- path,
5318
- directory: import_filesystem.Directory.Data
5319
- });
5320
- },
5321
- getUri: async (path) => {
5322
- return import_filesystem.Filesystem.getUri({
5323
- path,
5324
- directory: import_filesystem.Directory.Data
5325
- });
5326
- }
5327
- };
5328
-
5329
- // src/services/filesystem-service/json-worker.ts
5330
- function createWorkerBlob() {
5331
- const workerCode = `
5332
- self.addEventListener("message", async (ev) => {
5333
- const { id, cmd, payload } = ev.data;
5334
- try {
5335
- if (cmd === "parse") {
5336
- const parsed = JSON.parse(payload);
5337
- self.postMessage({ id, ok: true, result: parsed });
5338
- } else if (cmd === "stringify") {
5339
- const str = JSON.stringify(payload);
5340
- self.postMessage({ id, ok: true, result: str });
5341
- }
5342
- } catch (err) {
5343
- self.postMessage({ id, ok: false, error: err?.message || String(err) });
5344
- }
5345
- });
5346
- `;
5347
- const blob = new Blob([workerCode], { type: "application/javascript" });
5348
- return URL.createObjectURL(blob);
5349
- }
5350
- function spawnParseWorker(raw) {
5351
- return new Promise((resolve, reject) => {
5352
- const workerUrl = createWorkerBlob();
5353
- const worker = new Worker(workerUrl);
5354
- const id = Math.random().toString(36).slice(2);
5355
- worker.onmessage = (ev) => {
5356
- const { ok, result, error } = ev.data;
5357
- if (ok) {
5358
- resolve(result);
5359
- } else {
5360
- reject(new Error(error));
5361
- }
5362
- URL.revokeObjectURL(workerUrl);
5363
- worker.terminate();
5364
- };
5365
- worker.onerror = (err) => {
5366
- reject(err);
5367
- URL.revokeObjectURL(workerUrl);
5368
- worker.terminate();
5369
- };
5370
- worker.postMessage({ id, cmd: "parse", payload: raw });
5371
- });
5372
- }
5373
- function spawnStringifyWorker(obj) {
5374
- return new Promise((resolve, reject) => {
5375
- const workerUrl = createWorkerBlob();
5376
- const worker = new Worker(workerUrl);
5377
- worker.onmessage = (ev) => {
5378
- const { ok, result, error } = ev.data;
5379
- if (ok) resolve(result);
5380
- else reject(new Error(error));
5381
- URL.revokeObjectURL(workerUrl);
5382
- worker.terminate();
5383
- };
5384
- worker.onerror = (err) => {
5385
- reject(err);
5386
- URL.revokeObjectURL(workerUrl);
5387
- worker.terminate();
5388
- };
5389
- worker.postMessage({ cmd: "stringify", payload: obj });
5390
- });
5391
- }
5392
-
5393
- // src/services/filesystem-service/manifest.ts
5394
- var MANIFEST_PATH = "pos/manifest.json";
5395
- var MANIFEST_BAK_PATH = "pos/manifest.bak.json";
5396
- async function writeManifest(manifest) {
5397
- const oldRaw = await fileService.read(MANIFEST_PATH);
5398
- if (oldRaw !== null) {
5399
- await fileService.writeAtomic(MANIFEST_BAK_PATH, oldRaw);
5400
- }
5401
- await fileService.writeAtomic(MANIFEST_PATH, JSON.stringify(manifest));
5402
- try {
5403
- await fileService.delete(MANIFEST_BAK_PATH);
5404
- } catch {
5405
- }
5406
- }
5407
-
5408
- // src/services/filesystem-service/import-snapshot.ts
5409
- var DATA_DIR = "pos";
5410
- var MODELS_DIR = `${DATA_DIR}/models`;
5411
- var MODELS_META_DIR = `${DATA_DIR}/models_meta`;
5412
- var importSnapshot = async ({ data, onProgress }) => {
5413
- onProgress?.(1, "Parsing snapshot");
5414
- const parsed = await spawnParseWorker(data);
5415
- const modelNames = Object.keys(parsed);
5416
- const total = modelNames.length;
5417
- const manifest = { version: (/* @__PURE__ */ new Date()).toISOString(), models: {} };
5418
- const TMP_PREFIX = `pos/data/tmp_import_${Date.now()}`;
5419
- await fileService.writeAtomic(`${TMP_PREFIX}/.marker`, "1");
5420
- let i = 0;
5421
- for (const model of modelNames) {
5422
- i++;
5423
- onProgress?.(
5424
- Math.round(i / total * 100),
5425
- `Processing ${model} (${i}/${total})`
5426
- );
5427
- const block = parsed[model];
5428
- const dataPart = block?.data ?? block ?? [];
5429
- const fields = block?.fields ?? [];
5430
- const relations = block?.relations ?? {};
5431
- const serialized = await spawnStringifyWorker(dataPart);
5432
- const tmpModelPath = `${TMP_PREFIX}/${encodeURIComponent(model)}.json`;
5433
- await fileService.writeAtomic(tmpModelPath, serialized);
5434
- const meta = {
5435
- fields,
5436
- relations,
5437
- count: Array.isArray(dataPart) ? dataPart.length : 0,
5438
- writtenAt: (/* @__PURE__ */ new Date()).toISOString()
5439
- };
5440
- const tmpMetaPath = `${TMP_PREFIX}/${encodeURIComponent(model)}.meta.json`;
5441
- await fileService.writeAtomic(tmpMetaPath, JSON.stringify(meta));
5442
- manifest.models[model] = {
5443
- file: `${MODELS_DIR}/${encodeURIComponent(model)}.json`,
5444
- metaFile: `${MODELS_META_DIR}/${encodeURIComponent(model)}.meta.json`,
5445
- count: meta.count,
5446
- updatedAt: meta.writtenAt
5447
- };
5448
- }
5449
- onProgress?.(95, "Committing import (moving files)");
5450
- for (const model of modelNames) {
5451
- const tmpModelPath = `${TMP_PREFIX}/${encodeURIComponent(model)}.json`;
5452
- const finalModelPath = `${MODELS_DIR}/${encodeURIComponent(model)}.json`;
5453
- const tmpMetaPath = `${TMP_PREFIX}/${encodeURIComponent(model)}.meta.json`;
5454
- const finalMetaPath = `${MODELS_META_DIR}/${encodeURIComponent(
5455
- model
5456
- )}.meta.json`;
5457
- const tmpRaw = await fileService.read(tmpModelPath);
5458
- if (tmpRaw !== null) await fileService.writeAtomic(finalModelPath, tmpRaw);
5459
- const tmpMetaRaw = await fileService.read(tmpMetaPath);
5460
- if (tmpMetaRaw !== null)
5461
- await fileService.writeAtomic(finalMetaPath, tmpMetaRaw);
5462
- onProgress?.(
5463
- 95 + Math.round(
5464
- (Object.keys(manifest.models).indexOf(model) + 1) / modelNames.length * 5
5465
- ),
5466
- `Committed ${model}`
5467
- );
5468
- }
5469
- await writeManifest(manifest);
5470
- try {
5471
- for (const model of modelNames) {
5472
- await fileService.delete(
5473
- `${TMP_PREFIX}/${encodeURIComponent(model)}.json`
5474
- );
5475
- await fileService.delete(
5476
- `${TMP_PREFIX}/${encodeURIComponent(model)}.meta.json`
5477
- );
5478
- }
5479
- await fileService.delete(`${TMP_PREFIX}/.marker`);
5480
- } catch (e) {
5481
- console.log("Failed to cleanup tmp import files:", e);
5482
- }
5483
- onProgress?.(100, "Import complete");
5484
- return manifest;
5485
- };
5486
- var import_snapshot_default = importSnapshot;
5487
-
5488
- // src/services/filesystem-service/memory-cache.ts
5489
- var MemoryCache = class {
5490
- map = /* @__PURE__ */ new Map();
5491
- get(k) {
5492
- const e = this.map.get(k);
5493
- if (!e) return null;
5494
- if (e.ttl && Date.now() - e.t > e.ttl) {
5495
- this.map.delete(k);
5496
- return null;
5497
- }
5498
- return e.value;
5499
- }
5500
- set(k, v, ttl = 5 * 60 * 1e3) {
5501
- this.map.set(k, { value: v, t: Date.now(), ttl });
5502
- }
5503
- del(k) {
5504
- this.map.delete(k);
5505
- }
5506
- clear() {
5507
- this.map.clear();
5508
- }
5509
- };
5510
- var memoryCache = new MemoryCache();
5511
-
5512
- // src/services/filesystem-service/model-loader.ts
5513
- var MODELS_DIR2 = "pos/models";
5514
- var MODELS_META_DIR2 = "pos/models_meta";
5515
- async function loadModelData(modelName, includeMeta = true) {
5516
- const key = `model:${modelName}:meta:${includeMeta}`;
5517
- const cached = memoryCache.get(key);
5518
- if (cached) return cached;
5519
- const dataPath = `${MODELS_DIR2}/${encodeURIComponent(modelName)}.json`;
5520
- const metaPath = `${MODELS_META_DIR2}/${encodeURIComponent(
5521
- modelName
5522
- )}.meta.json`;
5523
- const rawData = await fileService.read(dataPath);
5524
- if (!rawData) return null;
5525
- const parsedData = await spawnParseWorker(rawData);
5526
- const data = Array.isArray(parsedData) ? parsedData : [];
5527
- if (!includeMeta) {
5528
- const result2 = { data };
5529
- memoryCache.set(key, result2, 1e3 * 60 * 60);
5530
- return result2;
5531
- }
5532
- const rawMeta = await fileService.read(metaPath);
5533
- let fields = [];
5534
- let relations = {};
5535
- if (rawMeta) {
5536
- const parsedMeta = await spawnParseWorker(rawMeta);
5537
- fields = parsedMeta?.fields ?? [];
5538
- relations = parsedMeta?.relations ?? {};
5539
- }
5540
- const result = {
5541
- data,
5542
- fields,
5543
- relations
5544
- };
5545
- memoryCache.set(key, result, 1e3 * 60 * 60);
5546
- return result;
5547
- }
5548
- async function loadData(includeMeta = true) {
5549
- try {
5550
- const listResult = await fileService.list(MODELS_DIR2);
5551
- if (!listResult || !Array.isArray(listResult.files)) {
5552
- console.log("No models found");
5553
- return {};
5554
- }
5555
- const result = {};
5556
- for (const file of listResult.files) {
5557
- if (file.type !== "file") continue;
5558
- if (!file.name.endsWith(".json")) continue;
5559
- const fileName = file.name;
5560
- const modelName = fileName.replace(/\.json$/, "");
5561
- const dataPath = `${MODELS_DIR2}/${fileName}`;
5562
- const rawData = await fileService.read(dataPath);
5563
- if (!rawData) continue;
5564
- const parsedData = await spawnParseWorker(rawData);
5565
- const data = Array.isArray(parsedData) ? parsedData : [];
5566
- if (!includeMeta) {
5567
- result[modelName] = { data };
5568
- continue;
5569
- }
5570
- const metaPath = `${MODELS_META_DIR2}/${encodeURIComponent(
5571
- modelName
5572
- )}.meta.json`;
5573
- const rawMeta = await fileService.read(metaPath);
5574
- let fields = [];
5575
- let relations = {};
5576
- if (rawMeta) {
5577
- const parsedMeta = await spawnParseWorker(rawMeta);
5578
- fields = parsedMeta?.fields ?? [];
5579
- relations = parsedMeta?.relations ?? {};
5580
- }
5581
- result[modelName] = {
5582
- data,
5583
- fields,
5584
- relations
5585
- };
5586
- }
5587
- return result;
5588
- } catch (error) {
5589
- console.error("Error loading data:", error);
5590
- throw error;
5591
- }
5592
- }
5593
-
5594
- // src/services/filesystem-service/snapshot-helper.ts
5595
- var createEmptySnapshot = () => {
5596
- return {
5597
- data: []
5598
- };
5599
- };
5600
- var generateNextId = (existingIds, startFrom = 1) => {
5601
- if (!existingIds || existingIds.length === 0) {
5602
- return startFrom;
5603
- }
5604
- const maxId = Math.max(...existingIds, startFrom - 1);
5605
- return maxId + 1;
5606
- };
5607
- var loadSnapshot = async ({
5608
- modelName
5609
- }) => {
5610
- try {
5611
- const snapshot = await loadModelData(modelName);
5612
- if (!snapshot || typeof snapshot !== "object") {
5613
- console.warn("invalid snapshot, creating new one");
5614
- return createEmptySnapshot();
5615
- }
5616
- return {
5617
- data: Array.isArray(snapshot.data) ? snapshot.data : []
5618
- };
5619
- } catch (error) {
5620
- console.error("Failed to load snapshot:", error);
5621
- return createEmptySnapshot();
5622
- }
5623
- };
5624
- var getExistingIds = (snapshot) => {
5625
- return snapshot.data.map((order) => order.id).filter((id) => typeof id === "number");
5626
- };
5627
- var saveSnapshot = async ({
5628
- snapshot,
5629
- modelName
5630
- }) => {
5631
- try {
5632
- await import_snapshot_default({
5633
- data: JSON.stringify({
5634
- [modelName]: snapshot
5635
- })
5636
- });
5637
- return true;
5638
- } catch (error) {
5639
- console.error("failed to save snapshot:", error);
5640
- return false;
5641
- }
5642
- };
5643
- var addRecordResponseHandler = ({
5644
- modelName,
5645
- id,
5646
- data
5647
- }) => {
5648
- if (modelName === "restaurant.floor" /* RESTAURANT_FLOOR */ || modelName === "res.partner" /* RES_PARTNER */) {
5649
- return [[id, ""]];
5650
- }
5651
- return data;
5652
- };
5653
-
5654
- // src/services/filesystem-service/model-repository.ts
5655
- var ModelRepository = class {
5656
- getAll = async ({ modelName }) => {
5657
- try {
5658
- const snapshot = await loadSnapshot({
5659
- modelName
5660
- });
5661
- return snapshot.data;
5662
- } catch (error) {
5663
- console.error("failed to get all records:", error);
5664
- return [];
5665
- }
5666
- };
5667
- getRecord = async ({
5668
- id,
5669
- modelName
5670
- }) => {
5671
- try {
5672
- const snapshot = await loadSnapshot({
5673
- modelName
5674
- });
5675
- return snapshot.data.find((record) => record.id === id) || null;
5676
- } catch (error) {
5677
- console.error("failed to get record:", error);
5678
- return null;
5679
- }
5680
- };
5681
- addRecord = async ({
5682
- newRecord,
5683
- modelName
5684
- }) => {
5685
- try {
5686
- const snapshot = await loadSnapshot({
5687
- modelName
5688
- });
5689
- const existingIds = getExistingIds(snapshot);
5690
- const newId = generateNextId(existingIds, snapshot.data.length);
5691
- snapshot.data.push({
5692
- ...newRecord,
5693
- id: newId
5694
- });
5695
- const saved = await saveSnapshot({
5696
- snapshot,
5697
- modelName
5698
- });
5699
- if (!saved) {
5700
- console.error("failed to add new record");
5701
- return [];
5702
- }
5703
- console.log("lib data:", snapshot.data);
5704
- const response = addRecordResponseHandler({
5705
- id: newId,
5706
- modelName,
5707
- data: snapshot.data
5708
- });
5709
- return response;
5710
- } catch (error) {
5711
- console.error("failed to add new record:", error);
5712
- return [];
5713
- }
5714
- };
5715
- updateRecord = async ({
5716
- id,
5717
- update,
5718
- modelName
5719
- }) => {
5720
- try {
5721
- const snapshot = await loadSnapshot({
5722
- modelName
5723
- });
5724
- const index = snapshot.data.findIndex((record) => record.id === id);
5725
- if (index === -1) {
5726
- console.error(`record with id ${id} not found`);
5727
- return false;
5728
- }
5729
- snapshot.data[index] = {
5730
- ...snapshot.data[index],
5731
- ...update
5732
- };
5733
- return await saveSnapshot({
5734
- snapshot,
5735
- modelName
5736
- });
5737
- } catch (error) {
5738
- console.error("error updating record:", error);
5739
- return false;
5740
- }
5741
- };
5742
- deleteRecord = async ({
5743
- id,
5744
- modelName
5745
- }) => {
5746
- try {
5747
- const snapshot = await loadSnapshot({
5748
- modelName
5749
- });
5750
- const before = snapshot.data.length;
5751
- snapshot.data = snapshot.data.filter((record) => record.id !== id);
5752
- if (snapshot.data.length === before) {
5753
- console.error(`record with id ${id} not found`);
5754
- return false;
5755
- }
5756
- return await saveSnapshot({
5757
- snapshot,
5758
- modelName
5759
- });
5760
- } catch (error) {
5761
- console.error("error deleting record:", error);
5762
- return false;
5763
- }
5764
- };
5765
- };
5766
-
5767
- // src/services/pos-service/add-entity.ts
5291
+ var import_react19 = require("react");
5768
5292
  var addEntityService = (env) => {
5769
- const isLocalMode = env?.isLocalMode;
5770
- const repo = new ModelRepository();
5771
- const addEntity = (0, import_react18.useCallback)(
5293
+ const addEntity = (0, import_react19.useCallback)(
5772
5294
  ({
5773
5295
  model,
5774
5296
  values,
@@ -5776,12 +5298,6 @@ var addEntityService = (env) => {
5776
5298
  service,
5777
5299
  isCreateEndpoint = false
5778
5300
  }) => {
5779
- if (isLocalMode) {
5780
- return repo.addRecord({
5781
- newRecord: values,
5782
- modelName: model
5783
- });
5784
- }
5785
5301
  const jsonData = {
5786
5302
  model,
5787
5303
  values
@@ -5798,7 +5314,7 @@ var addEntityService = (env) => {
5798
5314
  service
5799
5315
  );
5800
5316
  },
5801
- [env, isLocalMode]
5317
+ [env]
5802
5318
  );
5803
5319
  return {
5804
5320
  addEntity
@@ -5806,9 +5322,9 @@ var addEntityService = (env) => {
5806
5322
  };
5807
5323
 
5808
5324
  // src/services/pos-service/change-order-preparation-state.ts
5809
- var import_react19 = require("react");
5325
+ var import_react20 = require("react");
5810
5326
  var changOrderPreparationStateService = (env) => {
5811
- const changeOrderPreparationState = (0, import_react19.useCallback)(
5327
+ const changeOrderPreparationState = (0, import_react20.useCallback)(
5812
5328
  ({
5813
5329
  orderId,
5814
5330
  stageId,
@@ -5845,9 +5361,9 @@ var changOrderPreparationStateService = (env) => {
5845
5361
  };
5846
5362
 
5847
5363
  // src/services/pos-service/check-payment.ts
5848
- var import_react20 = require("react");
5364
+ var import_react21 = require("react");
5849
5365
  var checkPaymentService = (env) => {
5850
- const checkPayment = (0, import_react20.useCallback)(
5366
+ const checkPayment = (0, import_react21.useCallback)(
5851
5367
  ({
5852
5368
  model,
5853
5369
  ids,
@@ -5881,9 +5397,9 @@ var checkPaymentService = (env) => {
5881
5397
  };
5882
5398
 
5883
5399
  // src/services/pos-service/create-e-invoice.ts
5884
- var import_react21 = require("react");
5400
+ var import_react22 = require("react");
5885
5401
  var createEInvoiceService = (env) => {
5886
- const createEInvoice = (0, import_react21.useCallback)(
5402
+ const createEInvoice = (0, import_react22.useCallback)(
5887
5403
  async ({
5888
5404
  service,
5889
5405
  xNode,
@@ -5918,23 +5434,15 @@ var createEInvoiceService = (env) => {
5918
5434
  };
5919
5435
 
5920
5436
  // src/services/pos-service/create-entity.ts
5921
- var import_react22 = require("react");
5437
+ var import_react23 = require("react");
5922
5438
  var createEntityService = (env) => {
5923
- const isLocalMode = env?.isLocalMode;
5924
- const repo = new ModelRepository();
5925
- const createEntity = (0, import_react22.useCallback)(
5439
+ const createEntity = (0, import_react23.useCallback)(
5926
5440
  ({
5927
5441
  model,
5928
5442
  args,
5929
5443
  xNode,
5930
5444
  service
5931
5445
  }) => {
5932
- if (isLocalMode) {
5933
- return repo.addRecord({
5934
- newRecord: args[0],
5935
- modelName: model
5936
- });
5937
- }
5938
5446
  const jsonData = {
5939
5447
  model,
5940
5448
  method: "create" /* CREATE */,
@@ -5952,7 +5460,7 @@ var createEntityService = (env) => {
5952
5460
  service
5953
5461
  );
5954
5462
  },
5955
- [env, isLocalMode]
5463
+ [env]
5956
5464
  );
5957
5465
  return {
5958
5466
  createEntity
@@ -5960,9 +5468,9 @@ var createEntityService = (env) => {
5960
5468
  };
5961
5469
 
5962
5470
  // src/services/pos-service/create-pos-config.ts
5963
- var import_react23 = require("react");
5471
+ var import_react24 = require("react");
5964
5472
  var createPosConfigService = (env) => {
5965
- const createPosConfig = (0, import_react23.useCallback)(
5473
+ const createPosConfig = (0, import_react24.useCallback)(
5966
5474
  ({
5967
5475
  model,
5968
5476
  name,
@@ -5997,9 +5505,9 @@ var createPosConfigService = (env) => {
5997
5505
  };
5998
5506
 
5999
5507
  // src/services/pos-service/create-session.ts
6000
- var import_react24 = require("react");
5508
+ var import_react25 = require("react");
6001
5509
  var createSessionService = (env) => {
6002
- const createSession = (0, import_react24.useCallback)(
5510
+ const createSession = (0, import_react25.useCallback)(
6003
5511
  ({
6004
5512
  model,
6005
5513
  configId,
@@ -6035,11 +5543,9 @@ var createSessionService = (env) => {
6035
5543
  };
6036
5544
 
6037
5545
  // src/services/pos-service/delete-entity.ts
6038
- var import_react25 = require("react");
5546
+ var import_react26 = require("react");
6039
5547
  var deleteEntityService = (env) => {
6040
- const isLocalMode = env?.isLocalMode;
6041
- const repo = new ModelRepository();
6042
- const deleteEntity = (0, import_react25.useCallback)(
5548
+ const deleteEntity = (0, import_react26.useCallback)(
6043
5549
  ({
6044
5550
  model,
6045
5551
  ids,
@@ -6047,14 +5553,6 @@ var deleteEntityService = (env) => {
6047
5553
  service,
6048
5554
  method
6049
5555
  }) => {
6050
- if (isLocalMode) {
6051
- const id = ids[0];
6052
- if (!id) return;
6053
- return repo.deleteRecord({
6054
- modelName: model,
6055
- id
6056
- });
6057
- }
6058
5556
  const jsonData = {
6059
5557
  model,
6060
5558
  ids,
@@ -6072,7 +5570,7 @@ var deleteEntityService = (env) => {
6072
5570
  service
6073
5571
  );
6074
5572
  },
6075
- [env, isLocalMode]
5573
+ [env]
6076
5574
  );
6077
5575
  return {
6078
5576
  deleteEntity
@@ -6080,9 +5578,9 @@ var deleteEntityService = (env) => {
6080
5578
  };
6081
5579
 
6082
5580
  // src/services/pos-service/generate-payment-qr-info.ts
6083
- var import_react26 = require("react");
5581
+ var import_react27 = require("react");
6084
5582
  var generatePaymentQrInfoService = (env) => {
6085
- const generatePaymentQRInfo = (0, import_react26.useCallback)(
5583
+ const generatePaymentQRInfo = (0, import_react27.useCallback)(
6086
5584
  ({
6087
5585
  orderId,
6088
5586
  amount,
@@ -6115,9 +5613,9 @@ var generatePaymentQrInfoService = (env) => {
6115
5613
  };
6116
5614
 
6117
5615
  // src/services/pos-service/get-current-user.ts
6118
- var import_react27 = require("react");
5616
+ var import_react28 = require("react");
6119
5617
  var getCurrentUserService = (env) => {
6120
- const getCurrentUser = (0, import_react27.useCallback)(
5618
+ const getCurrentUser = (0, import_react28.useCallback)(
6121
5619
  async ({
6122
5620
  service,
6123
5621
  xNode,
@@ -6147,11 +5645,9 @@ var getCurrentUserService = (env) => {
6147
5645
  };
6148
5646
 
6149
5647
  // src/services/pos-service/get-list.ts
6150
- var import_react28 = require("react");
5648
+ var import_react29 = require("react");
6151
5649
  var getListService = (env) => {
6152
- const isLocalMode = env?.isLocalMode;
6153
- const repo = new ModelRepository();
6154
- const getList = (0, import_react28.useCallback)(
5650
+ const getList = (0, import_react29.useCallback)(
6155
5651
  async ({
6156
5652
  model,
6157
5653
  domain,
@@ -6161,12 +5657,6 @@ var getListService = (env) => {
6161
5657
  offset,
6162
5658
  limit
6163
5659
  }) => {
6164
- if (isLocalMode) {
6165
- const data = await repo.getAll({
6166
- modelName: model
6167
- });
6168
- return data;
6169
- }
6170
5660
  const jsonData = {
6171
5661
  model,
6172
5662
  method: "web_search_read" /* WEB_SEARCH_READ */,
@@ -6189,7 +5679,7 @@ var getListService = (env) => {
6189
5679
  service
6190
5680
  );
6191
5681
  },
6192
- [env, isLocalMode]
5682
+ [env]
6193
5683
  );
6194
5684
  return {
6195
5685
  getList
@@ -6197,9 +5687,9 @@ var getListService = (env) => {
6197
5687
  };
6198
5688
 
6199
5689
  // src/services/pos-service/get-order-line.ts
6200
- var import_react29 = require("react");
5690
+ var import_react30 = require("react");
6201
5691
  var getOrderLineService = (env) => {
6202
- const getOrderLine = (0, import_react29.useCallback)(
5692
+ const getOrderLine = (0, import_react30.useCallback)(
6203
5693
  ({
6204
5694
  model,
6205
5695
  ids,
@@ -6235,9 +5725,9 @@ var getOrderLineService = (env) => {
6235
5725
  };
6236
5726
 
6237
5727
  // src/services/pos-service/get-pin-code.ts
6238
- var import_react30 = require("react");
5728
+ var import_react31 = require("react");
6239
5729
  var getPinCodeService = (env) => {
6240
- const getPinCode = (0, import_react30.useCallback)(
5730
+ const getPinCode = (0, import_react31.useCallback)(
6241
5731
  ({
6242
5732
  serialNumber,
6243
5733
  xNode,
@@ -6266,9 +5756,9 @@ var getPinCodeService = (env) => {
6266
5756
  };
6267
5757
 
6268
5758
  // src/services/pos-service/get-pos.ts
6269
- var import_react31 = require("react");
5759
+ var import_react32 = require("react");
6270
5760
  var getPosService = (env) => {
6271
- const getPOS = (0, import_react31.useCallback)(
5761
+ const getPOS = (0, import_react32.useCallback)(
6272
5762
  ({
6273
5763
  model,
6274
5764
  args,
@@ -6332,9 +5822,9 @@ var getPosService = (env) => {
6332
5822
  };
6333
5823
 
6334
5824
  // src/services/pos-service/get-preparation-display-data.ts
6335
- var import_react32 = require("react");
5825
+ var import_react33 = require("react");
6336
5826
  var getPreparationDisplayDataService = (env) => {
6337
- const getPreparationDisplayData = (0, import_react32.useCallback)(
5827
+ const getPreparationDisplayData = (0, import_react33.useCallback)(
6338
5828
  ({
6339
5829
  ids,
6340
5830
  xNode,
@@ -6367,9 +5857,9 @@ var getPreparationDisplayDataService = (env) => {
6367
5857
  };
6368
5858
 
6369
5859
  // src/services/pos-service/get-product-image.ts
6370
- var import_react33 = require("react");
5860
+ var import_react34 = require("react");
6371
5861
  var getProductImageService = (env) => {
6372
- const getProductImage = (0, import_react33.useCallback)(
5862
+ const getProductImage = (0, import_react34.useCallback)(
6373
5863
  ({
6374
5864
  model,
6375
5865
  fields,
@@ -6408,9 +5898,9 @@ var getProductImageService = (env) => {
6408
5898
  };
6409
5899
 
6410
5900
  // src/services/pos-service/handle-close-session.ts
6411
- var import_react34 = require("react");
5901
+ var import_react35 = require("react");
6412
5902
  var handleCloseSessionService = (env) => {
6413
- const handleCloseSession = (0, import_react34.useCallback)(
5903
+ const handleCloseSession = (0, import_react35.useCallback)(
6414
5904
  ({
6415
5905
  model,
6416
5906
  ids,
@@ -6443,9 +5933,9 @@ var handleCloseSessionService = (env) => {
6443
5933
  };
6444
5934
 
6445
5935
  // src/services/pos-service/handle-closing-detail-session.ts
6446
- var import_react35 = require("react");
5936
+ var import_react36 = require("react");
6447
5937
  var handleClosingDetailSessionService = (env) => {
6448
- const handleClosingDetailSession = (0, import_react35.useCallback)(
5938
+ const handleClosingDetailSession = (0, import_react36.useCallback)(
6449
5939
  ({
6450
5940
  model,
6451
5941
  ids,
@@ -6480,9 +5970,9 @@ var handleClosingDetailSessionService = (env) => {
6480
5970
  };
6481
5971
 
6482
5972
  // src/services/pos-service/handle-closing-session.ts
6483
- var import_react36 = require("react");
5973
+ var import_react37 = require("react");
6484
5974
  var handleClosingSessionService = (env) => {
6485
- const handleClosingSession = (0, import_react36.useCallback)(
5975
+ const handleClosingSession = (0, import_react37.useCallback)(
6486
5976
  ({
6487
5977
  model,
6488
5978
  method,
@@ -6517,10 +6007,26 @@ var handleClosingSessionService = (env) => {
6517
6007
  };
6518
6008
 
6519
6009
  // src/services/pos-service/load-data-pos-session.ts
6520
- var import_react37 = require("react");
6010
+ var import_react38 = require("react");
6011
+ var MODEL_TO_TABLE = {
6012
+ ["account.tax" /* ACCOUNT_TAX */]: "account_taxes",
6013
+ ["res.company" /* RES_COMPANY */]: "companies",
6014
+ ["res.partner" /* RES_PARTNER */]: "customers",
6015
+ ["res.users" /* RES_USERS */]: "employees",
6016
+ ["loyalty.program" /* LOYALTY_PROGRAM */]: "loyalty_programs",
6017
+ ["loyalty.rule" /* LOYALTY_RULE */]: "loyalty_rules",
6018
+ ["pos.order.line" /* POS_ORDER_LINE */]: "order_lines",
6019
+ ["pos.order" /* POS_ORDER */]: "orders",
6020
+ ["pos.payment.method" /* POS_PAYMENT_METHOD */]: "payment_methods",
6021
+ ["pos.payment" /* POS_PAYMENT */]: "payments",
6022
+ ["product.category" /* PRODUCT_CATEGORY */]: "product_categories",
6023
+ ["product.product" /* PRODUCT_PRODUCT */]: "products",
6024
+ ["restaurant.floor" /* RESTAURANT_FLOOR */]: "restaurant_floors",
6025
+ ["restaurant.table" /* RESTAURANT_TABLE */]: "restaurant_tables"
6026
+ };
6521
6027
  var loadDataPosSessionService = (env) => {
6522
- const isLocalMode = env?.isLocalMode;
6523
- const loadDataPosSession = (0, import_react37.useCallback)(
6028
+ const supabase = useSupabase();
6029
+ const loadDataPosSession = (0, import_react38.useCallback)(
6524
6030
  async ({
6525
6031
  model,
6526
6032
  ids,
@@ -6530,10 +6036,6 @@ var loadDataPosSessionService = (env) => {
6530
6036
  modelsToLoad = [],
6531
6037
  searchParams
6532
6038
  }) => {
6533
- if (isLocalMode) {
6534
- const data = await loadData();
6535
- return data;
6536
- }
6537
6039
  const jsonData = {
6538
6040
  model,
6539
6041
  method: "load_data" /* LOAD_DATA */,
@@ -6560,17 +6062,66 @@ var loadDataPosSessionService = (env) => {
6560
6062
  service
6561
6063
  );
6562
6064
  },
6563
- [env, isLocalMode]
6065
+ [env]
6564
6066
  );
6067
+ const loadDataPosSessionSupabase = (0, import_react38.useCallback)(async () => {
6068
+ try {
6069
+ const allModels = Object.values(LoadDataModel);
6070
+ const promises = allModels.map(async (modelName) => {
6071
+ const tableName = MODEL_TO_TABLE[modelName];
6072
+ if (!tableName) {
6073
+ return {
6074
+ modelName,
6075
+ data: [],
6076
+ fields: {},
6077
+ relations: {}
6078
+ };
6079
+ }
6080
+ const { data, error } = await supabase.from(tableName).select("*");
6081
+ if (error) {
6082
+ console.error(`Error loading ${modelName}:`, error);
6083
+ return {
6084
+ modelName,
6085
+ data: [],
6086
+ fields: {},
6087
+ relations: {}
6088
+ };
6089
+ }
6090
+ return {
6091
+ modelName,
6092
+ data: data || [],
6093
+ fields: {},
6094
+ relations: {}
6095
+ };
6096
+ });
6097
+ const results = await Promise.all(promises);
6098
+ const response = results.reduce(
6099
+ (acc, { modelName, data, fields, relations }) => {
6100
+ acc[modelName] = {
6101
+ data,
6102
+ fields,
6103
+ relations
6104
+ };
6105
+ return acc;
6106
+ },
6107
+ {}
6108
+ );
6109
+ return response;
6110
+ } catch (error) {
6111
+ console.error("Error loading data from Supabase:", error);
6112
+ return {};
6113
+ }
6114
+ }, [supabase]);
6565
6115
  return {
6566
- loadDataPosSession
6116
+ loadDataPosSession,
6117
+ loadDataPosSessionSupabase
6567
6118
  };
6568
6119
  };
6569
6120
 
6570
6121
  // src/services/pos-service/manage-onchange.ts
6571
- var import_react38 = require("react");
6122
+ var import_react39 = require("react");
6572
6123
  var manageOnchangeService = (env) => {
6573
- const manageOnChange = (0, import_react38.useCallback)(
6124
+ const manageOnChange = (0, import_react39.useCallback)(
6574
6125
  ({
6575
6126
  model,
6576
6127
  ids,
@@ -6604,9 +6155,9 @@ var manageOnchangeService = (env) => {
6604
6155
  };
6605
6156
 
6606
6157
  // src/services/pos-service/manage-session.ts
6607
- var import_react39 = require("react");
6158
+ var import_react40 = require("react");
6608
6159
  var manageSessionService = (env) => {
6609
- const manageSession = (0, import_react39.useCallback)(
6160
+ const manageSession = (0, import_react40.useCallback)(
6610
6161
  ({
6611
6162
  model,
6612
6163
  method,
@@ -6643,9 +6194,9 @@ var manageSessionService = (env) => {
6643
6194
  };
6644
6195
 
6645
6196
  // src/services/pos-service/process-order.ts
6646
- var import_react40 = require("react");
6197
+ var import_react41 = require("react");
6647
6198
  var processOrderService = (env) => {
6648
- const processOrder = (0, import_react40.useCallback)(
6199
+ const processOrder = (0, import_react41.useCallback)(
6649
6200
  ({
6650
6201
  orderId,
6651
6202
  xNode,
@@ -6678,9 +6229,9 @@ var processOrderService = (env) => {
6678
6229
  };
6679
6230
 
6680
6231
  // src/services/pos-service/save-pin-code.ts
6681
- var import_react41 = require("react");
6232
+ var import_react42 = require("react");
6682
6233
  var savePinCodeService = (env) => {
6683
- const savePinCode = (0, import_react41.useCallback)(
6234
+ const savePinCode = (0, import_react42.useCallback)(
6684
6235
  ({
6685
6236
  serialNumber,
6686
6237
  pinCode,
@@ -6711,9 +6262,9 @@ var savePinCodeService = (env) => {
6711
6262
  };
6712
6263
 
6713
6264
  // src/services/pos-service/search-journal.ts
6714
- var import_react42 = require("react");
6265
+ var import_react43 = require("react");
6715
6266
  var searchJournalService = (env) => {
6716
- const searchJournal = (0, import_react42.useCallback)(
6267
+ const searchJournal = (0, import_react43.useCallback)(
6717
6268
  ({
6718
6269
  model,
6719
6270
  method,
@@ -6748,9 +6299,9 @@ var searchJournalService = (env) => {
6748
6299
  };
6749
6300
 
6750
6301
  // src/services/pos-service/update-closed-session.ts
6751
- var import_react43 = require("react");
6302
+ var import_react44 = require("react");
6752
6303
  var updateClosedSessionService = (env) => {
6753
- const updateClosedSession = (0, import_react43.useCallback)(
6304
+ const updateClosedSession = (0, import_react44.useCallback)(
6754
6305
  ({
6755
6306
  model,
6756
6307
  domain,
@@ -6783,11 +6334,9 @@ var updateClosedSessionService = (env) => {
6783
6334
  };
6784
6335
 
6785
6336
  // src/services/pos-service/update-entity.ts
6786
- var import_react44 = require("react");
6337
+ var import_react45 = require("react");
6787
6338
  var updateEntityService = (env) => {
6788
- const isLocalMode = env?.isLocalMode;
6789
- const repo = new ModelRepository();
6790
- const updateEntity = (0, import_react44.useCallback)(
6339
+ const updateEntity = (0, import_react45.useCallback)(
6791
6340
  ({
6792
6341
  model,
6793
6342
  domain,
@@ -6796,15 +6345,6 @@ var updateEntityService = (env) => {
6796
6345
  xNode,
6797
6346
  service
6798
6347
  }) => {
6799
- if (isLocalMode) {
6800
- const id = extractIdFromDomain(domain);
6801
- if (!id) return;
6802
- return repo.updateRecord({
6803
- update: values,
6804
- modelName: model,
6805
- id
6806
- });
6807
- }
6808
6348
  const jsonData = {
6809
6349
  model,
6810
6350
  domain,
@@ -6822,7 +6362,7 @@ var updateEntityService = (env) => {
6822
6362
  service
6823
6363
  );
6824
6364
  },
6825
- [env, isLocalMode]
6365
+ [env]
6826
6366
  );
6827
6367
  return {
6828
6368
  updateEntity
@@ -6830,9 +6370,9 @@ var updateEntityService = (env) => {
6830
6370
  };
6831
6371
 
6832
6372
  // src/services/pos-service/update-order-status.ts
6833
- var import_react45 = require("react");
6373
+ var import_react46 = require("react");
6834
6374
  var updateOrderStatusService = (env) => {
6835
- const updateOrderStatus = (0, import_react45.useCallback)(
6375
+ const updateOrderStatus = (0, import_react46.useCallback)(
6836
6376
  ({
6837
6377
  orderId,
6838
6378
  state,
@@ -6863,9 +6403,9 @@ var updateOrderStatusService = (env) => {
6863
6403
  };
6864
6404
 
6865
6405
  // src/services/pos-service/complete-current-stage.ts
6866
- var import_react46 = require("react");
6406
+ var import_react47 = require("react");
6867
6407
  var completeCurrentStageService = (env) => {
6868
- const completeCurrentStage = (0, import_react46.useCallback)(
6408
+ const completeCurrentStage = (0, import_react47.useCallback)(
6869
6409
  ({
6870
6410
  ids,
6871
6411
  withContext,
@@ -6948,50 +6488,6 @@ var usePosService = () => {
6948
6488
  return service;
6949
6489
  };
6950
6490
 
6951
- // src/services/filesystem-service/init-snapshot.ts
6952
- var isSnapshotReady = async () => {
6953
- try {
6954
- const raw = await fileService.read("pos/manifest.json");
6955
- if (!raw) return false;
6956
- const manifest = JSON.parse(raw);
6957
- if (!manifest.models || typeof manifest.models !== "object") {
6958
- return false;
6959
- }
6960
- const modelEntries = Object.values(manifest.models);
6961
- if (modelEntries.length === 0) return false;
6962
- const firstModel = modelEntries[0];
6963
- if (!firstModel.file) return false;
6964
- const modelExists = await fileService.exists(firstModel.file);
6965
- return modelExists;
6966
- } catch {
6967
- return false;
6968
- }
6969
- };
6970
- async function initSnapshot(onProgress) {
6971
- const ready = await isSnapshotReady();
6972
- if (ready) {
6973
- console.log("skip initialization.");
6974
- return;
6975
- }
6976
- console.log("initializing from data.json...");
6977
- const jsonData = await fetch("/data.json").then((r) => r.text());
6978
- if (!jsonData) {
6979
- console.error("cannot load data.json");
6980
- return;
6981
- }
6982
- await import_snapshot_default({
6983
- data: jsonData,
6984
- onProgress
6985
- });
6986
- }
6987
-
6988
- // src/services/filesystem-service/index.ts
6989
- var useFileSystemService = () => {
6990
- return {
6991
- initSnapshot
6992
- };
6993
- };
6994
-
6995
6491
  // src/hooks/auth/use-forgot-password.ts
6996
6492
  var useForgotPassword = () => {
6997
6493
  const { forgotPassword } = useAuthService();
@@ -7861,9 +7357,9 @@ var BaseModel = class {
7861
7357
  };
7862
7358
 
7863
7359
  // src/hooks/model/use-model.ts
7864
- var import_react47 = require("react");
7360
+ var import_react48 = require("react");
7865
7361
  var useModel = () => {
7866
- const initModel = (0, import_react47.useCallback)((modelData) => {
7362
+ const initModel = (0, import_react48.useCallback)((modelData) => {
7867
7363
  switch (modelData?.name) {
7868
7364
  default:
7869
7365
  return new BaseModel(modelData);
@@ -8880,8 +8376,9 @@ var use_handle_closing_session_default = useHandleClosingSession;
8880
8376
  var import_react_query104 = require("@tanstack/react-query");
8881
8377
  var useLoadDataPosSession = () => {
8882
8378
  const pos = usePosService();
8379
+ const { env } = useEnv();
8883
8380
  return (0, import_react_query104.useMutation)({
8884
- mutationFn: pos.loadDataPosSession
8381
+ mutationFn: env.isSupaMode ? pos.loadDataPosSessionSupabase : pos.loadDataPosSession
8885
8382
  });
8886
8383
  };
8887
8384
  var use_load_data_pos_session_default = useLoadDataPosSession;
@@ -8966,21 +8463,11 @@ var useUpdateOrderStatus = () => {
8966
8463
  };
8967
8464
  var use_update_order_status_default = useUpdateOrderStatus;
8968
8465
 
8969
- // src/hooks/pos/use-init-snapshot.ts
8970
- var import_react_query113 = require("@tanstack/react-query");
8971
- var useInitSnapshot = () => {
8972
- const fileSystem = useFileSystemService();
8973
- return (0, import_react_query113.useMutation)({
8974
- mutationFn: fileSystem.initSnapshot
8975
- });
8976
- };
8977
- var use_init_snapshot_default = useInitSnapshot;
8978
-
8979
8466
  // src/hooks/pos/use-complete-current-stage.ts
8980
- var import_react_query114 = require("@tanstack/react-query");
8467
+ var import_react_query113 = require("@tanstack/react-query");
8981
8468
  var useCompleteCurrentStage = () => {
8982
8469
  const pos = usePosService();
8983
- return (0, import_react_query114.useMutation)({
8470
+ return (0, import_react_query113.useMutation)({
8984
8471
  mutationFn: pos.completeCurrentStage
8985
8472
  });
8986
8473
  };
@@ -9060,7 +8547,6 @@ var use_complete_current_stage_default = useCompleteCurrentStage;
9060
8547
  useHandleCloseSession,
9061
8548
  useHandleClosingDetailSession,
9062
8549
  useHandleClosingSession,
9063
- useInitSnapshot,
9064
8550
  useIsValidToken,
9065
8551
  useLoadAction,
9066
8552
  useLoadDataPosSession,