@fctc/interface-logic 4.8.8 → 4.8.9

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.d.mts CHANGED
@@ -950,4 +950,12 @@ declare const useDeleteCustomer: () => _tanstack_react_query.UseMutationResult<n
950
950
  customer_id: number;
951
951
  }, unknown>;
952
952
 
953
- export { useAddCategory, useAddEntity, useAddFloor, useAddPaymentMethod, useAddProduct, useAddProductToOrder, useAddTable, useButton, useChangeOrderPreparationState, useChangeStatus, useCheckPayment, useCompleteCurrentStage, useCreateCustomer, useCreateEInvoice, useCreateEntity, useCreateOrder, useCreatePayment, useCreatePosConfig, useCreateSession, useDelete, useDeleteComment, useDeleteCustomer, useDeleteEntity, useDeleteFloor, useDeleteOrder, useDeleteOrderLine, useDeleteTable, useDuplicateRecord, useExecuteImport, useExportExcel, useForgotPassword, useForgotPasswordSSO, useGenSerialNumber, useGeneratePaymentQrInfo, useGet2FAMethods, useGetASession, useGetAccessByCode, useGetActionDetail, useGetAll, useGetCalendar, useGetCity, useGetComment, useGetCompanyInfo, useGetConversionRate, useGetCountry, useGetCurrency, useGetCurrentCompany, useGetCurrentUser, useGetDataChart, useGetDetail, useGetExternalTabs, useGetFieldExport, useGetFieldOnChange, useGetFileExcel, useGetFormView, useGetFunctionalModules, useGetGroups, useGetImage, useGetList, useGetListCompany, useGetListData, useGetListMyBankAccount, useGetMenu, useGetNotifications, useGetOrderLine, useGetPartnerTitle, useGetPinCode, useGetPos, useGetPreparationDisplayData, useGetPrintReport, useGetProGressBar, useGetProductImage, useGetProfile, useGetProvider, useGetResequence, useGetSelection, useGetTenantMapping, useGetThreadData, useGetThreadMessages, useGetToken, useGetUser, useGetVersion, useGetView, useGetWard, useGrantAccess, useHandleCloseSession, useHandleClosingDetailSession, useHandleClosingSession, useIsValidToken, useLoadAction, useLoadDataPosSession, useLoadMessage, useLoginCredential, useLoginSocial, useLoginSupa, useLogout, useManageOnChange, useManageSession, useModel, useOdooDataTransform, useOnChangeForm, useParsePreview, usePrint, useProcessOrder, useReadGroup, useRemoveRow, useRemoveTotpSetup, useRequestSetupTotp, useResetPassword, useResetPasswordSSO, useRunAction, useSave, useSavePinCode, useSearchJournal, useSendComment, useSettingsWebRead2fa, useSignInSSO, useSwitchLocale, useUpdateClosedSession, useUpdateCustomer, useUpdateEntity, useUpdateFloor, useUpdateOrder, useUpdateOrderLine, useUpdateOrderStatus, useUpdateOrderTotalAmount, useUpdatePassword, useUpdateSessionPaymentMethods, useUpdateTable, useUploadFile, useUploadFileExcel, useUploadIdFile, useUploadImage, useValidateActionToken, useVerify2FA, useVerifyTotp };
953
+ declare const useSupaUploadImage: () => _tanstack_react_query.UseMutationResult<{
954
+ url: string | null;
955
+ error: any;
956
+ }, Error, {
957
+ file: File;
958
+ tenantId: string;
959
+ }, unknown>;
960
+
961
+ export { useAddCategory, useAddEntity, useAddFloor, useAddPaymentMethod, useAddProduct, useAddProductToOrder, useAddTable, useButton, useChangeOrderPreparationState, useChangeStatus, useCheckPayment, useCompleteCurrentStage, useCreateCustomer, useCreateEInvoice, useCreateEntity, useCreateOrder, useCreatePayment, useCreatePosConfig, useCreateSession, useDelete, useDeleteComment, useDeleteCustomer, useDeleteEntity, useDeleteFloor, useDeleteOrder, useDeleteOrderLine, useDeleteTable, useDuplicateRecord, useExecuteImport, useExportExcel, useForgotPassword, useForgotPasswordSSO, useGenSerialNumber, useGeneratePaymentQrInfo, useGet2FAMethods, useGetASession, useGetAccessByCode, useGetActionDetail, useGetAll, useGetCalendar, useGetCity, useGetComment, useGetCompanyInfo, useGetConversionRate, useGetCountry, useGetCurrency, useGetCurrentCompany, useGetCurrentUser, useGetDataChart, useGetDetail, useGetExternalTabs, useGetFieldExport, useGetFieldOnChange, useGetFileExcel, useGetFormView, useGetFunctionalModules, useGetGroups, useGetImage, useGetList, useGetListCompany, useGetListData, useGetListMyBankAccount, useGetMenu, useGetNotifications, useGetOrderLine, useGetPartnerTitle, useGetPinCode, useGetPos, useGetPreparationDisplayData, useGetPrintReport, useGetProGressBar, useGetProductImage, useGetProfile, useGetProvider, useGetResequence, useGetSelection, useGetTenantMapping, useGetThreadData, useGetThreadMessages, useGetToken, useGetUser, useGetVersion, useGetView, useGetWard, useGrantAccess, useHandleCloseSession, useHandleClosingDetailSession, useHandleClosingSession, useIsValidToken, useLoadAction, useLoadDataPosSession, useLoadMessage, useLoginCredential, useLoginSocial, useLoginSupa, useLogout, useManageOnChange, useManageSession, useModel, useOdooDataTransform, useOnChangeForm, useParsePreview, usePrint, useProcessOrder, useReadGroup, useRemoveRow, useRemoveTotpSetup, useRequestSetupTotp, useResetPassword, useResetPasswordSSO, useRunAction, useSave, useSavePinCode, useSearchJournal, useSendComment, useSettingsWebRead2fa, useSignInSSO, useSupaUploadImage, useSwitchLocale, useUpdateClosedSession, useUpdateCustomer, useUpdateEntity, useUpdateFloor, useUpdateOrder, useUpdateOrderLine, useUpdateOrderStatus, useUpdateOrderTotalAmount, useUpdatePassword, useUpdateSessionPaymentMethods, useUpdateTable, useUploadFile, useUploadFileExcel, useUploadIdFile, useUploadImage, useValidateActionToken, useVerify2FA, useVerifyTotp };
package/dist/hooks.d.ts CHANGED
@@ -950,4 +950,12 @@ declare const useDeleteCustomer: () => _tanstack_react_query.UseMutationResult<n
950
950
  customer_id: number;
951
951
  }, unknown>;
952
952
 
953
- export { useAddCategory, useAddEntity, useAddFloor, useAddPaymentMethod, useAddProduct, useAddProductToOrder, useAddTable, useButton, useChangeOrderPreparationState, useChangeStatus, useCheckPayment, useCompleteCurrentStage, useCreateCustomer, useCreateEInvoice, useCreateEntity, useCreateOrder, useCreatePayment, useCreatePosConfig, useCreateSession, useDelete, useDeleteComment, useDeleteCustomer, useDeleteEntity, useDeleteFloor, useDeleteOrder, useDeleteOrderLine, useDeleteTable, useDuplicateRecord, useExecuteImport, useExportExcel, useForgotPassword, useForgotPasswordSSO, useGenSerialNumber, useGeneratePaymentQrInfo, useGet2FAMethods, useGetASession, useGetAccessByCode, useGetActionDetail, useGetAll, useGetCalendar, useGetCity, useGetComment, useGetCompanyInfo, useGetConversionRate, useGetCountry, useGetCurrency, useGetCurrentCompany, useGetCurrentUser, useGetDataChart, useGetDetail, useGetExternalTabs, useGetFieldExport, useGetFieldOnChange, useGetFileExcel, useGetFormView, useGetFunctionalModules, useGetGroups, useGetImage, useGetList, useGetListCompany, useGetListData, useGetListMyBankAccount, useGetMenu, useGetNotifications, useGetOrderLine, useGetPartnerTitle, useGetPinCode, useGetPos, useGetPreparationDisplayData, useGetPrintReport, useGetProGressBar, useGetProductImage, useGetProfile, useGetProvider, useGetResequence, useGetSelection, useGetTenantMapping, useGetThreadData, useGetThreadMessages, useGetToken, useGetUser, useGetVersion, useGetView, useGetWard, useGrantAccess, useHandleCloseSession, useHandleClosingDetailSession, useHandleClosingSession, useIsValidToken, useLoadAction, useLoadDataPosSession, useLoadMessage, useLoginCredential, useLoginSocial, useLoginSupa, useLogout, useManageOnChange, useManageSession, useModel, useOdooDataTransform, useOnChangeForm, useParsePreview, usePrint, useProcessOrder, useReadGroup, useRemoveRow, useRemoveTotpSetup, useRequestSetupTotp, useResetPassword, useResetPasswordSSO, useRunAction, useSave, useSavePinCode, useSearchJournal, useSendComment, useSettingsWebRead2fa, useSignInSSO, useSwitchLocale, useUpdateClosedSession, useUpdateCustomer, useUpdateEntity, useUpdateFloor, useUpdateOrder, useUpdateOrderLine, useUpdateOrderStatus, useUpdateOrderTotalAmount, useUpdatePassword, useUpdateSessionPaymentMethods, useUpdateTable, useUploadFile, useUploadFileExcel, useUploadIdFile, useUploadImage, useValidateActionToken, useVerify2FA, useVerifyTotp };
953
+ declare const useSupaUploadImage: () => _tanstack_react_query.UseMutationResult<{
954
+ url: string | null;
955
+ error: any;
956
+ }, Error, {
957
+ file: File;
958
+ tenantId: string;
959
+ }, unknown>;
960
+
961
+ export { useAddCategory, useAddEntity, useAddFloor, useAddPaymentMethod, useAddProduct, useAddProductToOrder, useAddTable, useButton, useChangeOrderPreparationState, useChangeStatus, useCheckPayment, useCompleteCurrentStage, useCreateCustomer, useCreateEInvoice, useCreateEntity, useCreateOrder, useCreatePayment, useCreatePosConfig, useCreateSession, useDelete, useDeleteComment, useDeleteCustomer, useDeleteEntity, useDeleteFloor, useDeleteOrder, useDeleteOrderLine, useDeleteTable, useDuplicateRecord, useExecuteImport, useExportExcel, useForgotPassword, useForgotPasswordSSO, useGenSerialNumber, useGeneratePaymentQrInfo, useGet2FAMethods, useGetASession, useGetAccessByCode, useGetActionDetail, useGetAll, useGetCalendar, useGetCity, useGetComment, useGetCompanyInfo, useGetConversionRate, useGetCountry, useGetCurrency, useGetCurrentCompany, useGetCurrentUser, useGetDataChart, useGetDetail, useGetExternalTabs, useGetFieldExport, useGetFieldOnChange, useGetFileExcel, useGetFormView, useGetFunctionalModules, useGetGroups, useGetImage, useGetList, useGetListCompany, useGetListData, useGetListMyBankAccount, useGetMenu, useGetNotifications, useGetOrderLine, useGetPartnerTitle, useGetPinCode, useGetPos, useGetPreparationDisplayData, useGetPrintReport, useGetProGressBar, useGetProductImage, useGetProfile, useGetProvider, useGetResequence, useGetSelection, useGetTenantMapping, useGetThreadData, useGetThreadMessages, useGetToken, useGetUser, useGetVersion, useGetView, useGetWard, useGrantAccess, useHandleCloseSession, useHandleClosingDetailSession, useHandleClosingSession, useIsValidToken, useLoadAction, useLoadDataPosSession, useLoadMessage, useLoginCredential, useLoginSocial, useLoginSupa, useLogout, useManageOnChange, useManageSession, useModel, useOdooDataTransform, useOnChangeForm, useParsePreview, usePrint, useProcessOrder, useReadGroup, useRemoveRow, useRemoveTotpSetup, useRequestSetupTotp, useResetPassword, useResetPasswordSSO, useRunAction, useSave, useSavePinCode, useSearchJournal, useSendComment, useSettingsWebRead2fa, useSignInSSO, useSupaUploadImage, useSwitchLocale, useUpdateClosedSession, useUpdateCustomer, useUpdateEntity, useUpdateFloor, useUpdateOrder, useUpdateOrderLine, useUpdateOrderStatus, useUpdateOrderTotalAmount, useUpdatePassword, useUpdateSessionPaymentMethods, useUpdateTable, useUploadFile, useUploadFileExcel, useUploadIdFile, useUploadImage, useValidateActionToken, useVerify2FA, useVerifyTotp };
package/dist/hooks.js CHANGED
@@ -147,6 +147,7 @@ __export(hooks_exports, {
147
147
  useSendComment: () => use_send_comment_default,
148
148
  useSettingsWebRead2fa: () => use_settings_web_read_2fa_default,
149
149
  useSignInSSO: () => use_signin_sso_default,
150
+ useSupaUploadImage: () => use_supa_upload_image_default,
150
151
  useSwitchLocale: () => use_switch_locale_default,
151
152
  useUpdateClosedSession: () => use_update_closed_session_default,
152
153
  useUpdateCustomer: () => use_update_customer_default,
@@ -7217,6 +7218,43 @@ var deleteCustomerSupabaseService = () => {
7217
7218
  };
7218
7219
  };
7219
7220
 
7221
+ // src/services/pos-service/supabase/upload-image.ts
7222
+ var import_react70 = require("react");
7223
+ var uploadImageSupabaseService = () => {
7224
+ const supabase = useSupabaseOptional();
7225
+ const uploadImageSupabase = (0, import_react70.useCallback)(
7226
+ async (file, tenantId) => {
7227
+ if (!supabase) {
7228
+ console.error("Supabase client not initialized");
7229
+ return { url: null, error: "Supabase client not initialized" };
7230
+ }
7231
+ const bucketName = `tenant-${tenantId}`;
7232
+ try {
7233
+ const fileExt = file.name.split(".").pop();
7234
+ const fileName = `uploads/${Date.now()}_${Math.random().toString(36).substring(7)}.${fileExt}`;
7235
+ const { error: uploadError } = await supabase.storage.from(bucketName).upload(fileName, file, {
7236
+ cacheControl: "3600",
7237
+ upsert: false,
7238
+ contentType: file.type
7239
+ });
7240
+ if (uploadError) {
7241
+ console.error("Error uploading image:", uploadError);
7242
+ return { url: null, error: uploadError };
7243
+ }
7244
+ const { data: urlData } = supabase.storage.from(bucketName).getPublicUrl(fileName);
7245
+ return { url: urlData.publicUrl, error: null };
7246
+ } catch (error) {
7247
+ console.error("Error uploading image:", error);
7248
+ return { url: null, error };
7249
+ }
7250
+ },
7251
+ [supabase]
7252
+ );
7253
+ return {
7254
+ uploadImageSupabase
7255
+ };
7256
+ };
7257
+
7220
7258
  // src/services/pos-service/index.ts
7221
7259
  var serviceFactories = [
7222
7260
  addEntityService,
@@ -7270,7 +7308,8 @@ var serviceFactories = [
7270
7308
  createPaymentSupabaseService,
7271
7309
  createCustomerSupabaseService,
7272
7310
  updateCustomerSupabaseService,
7273
- deleteCustomerSupabaseService
7311
+ deleteCustomerSupabaseService,
7312
+ uploadImageSupabaseService
7274
7313
  ];
7275
7314
  var usePosService = () => {
7276
7315
  const { env } = useEnv();
@@ -8166,9 +8205,9 @@ var BaseModel = class {
8166
8205
  };
8167
8206
 
8168
8207
  // src/hooks/model/use-model.ts
8169
- var import_react70 = require("react");
8208
+ var import_react71 = require("react");
8170
8209
  var useModel = () => {
8171
- const initModel = (0, import_react70.useCallback)((modelData) => {
8210
+ const initModel = (0, import_react71.useCallback)((modelData) => {
8172
8211
  switch (modelData?.name) {
8173
8212
  default:
8174
8213
  return new BaseModel(modelData);
@@ -9501,6 +9540,16 @@ var useDeleteCustomer = () => {
9501
9540
  });
9502
9541
  };
9503
9542
  var use_delete_customer_default = useDeleteCustomer;
9543
+
9544
+ // src/hooks/pos/supabase/use-supa-upload-image.ts
9545
+ var import_react_query137 = require("@tanstack/react-query");
9546
+ var useSupaUploadImage = () => {
9547
+ const { uploadImageSupabase } = uploadImageSupabaseService();
9548
+ return (0, import_react_query137.useMutation)({
9549
+ mutationFn: ({ file, tenantId }) => uploadImageSupabase(file, tenantId)
9550
+ });
9551
+ };
9552
+ var use_supa_upload_image_default = useSupaUploadImage;
9504
9553
  // Annotate the CommonJS export names for ESM import in node:
9505
9554
  0 && (module.exports = {
9506
9555
  useAddCategory,
@@ -9620,6 +9669,7 @@ var use_delete_customer_default = useDeleteCustomer;
9620
9669
  useSendComment,
9621
9670
  useSettingsWebRead2fa,
9622
9671
  useSignInSSO,
9672
+ useSupaUploadImage,
9623
9673
  useSwitchLocale,
9624
9674
  useUpdateClosedSession,
9625
9675
  useUpdateCustomer,
package/dist/hooks.mjs CHANGED
@@ -7046,6 +7046,43 @@ var deleteCustomerSupabaseService = () => {
7046
7046
  };
7047
7047
  };
7048
7048
 
7049
+ // src/services/pos-service/supabase/upload-image.ts
7050
+ import { useCallback as useCallback64 } from "react";
7051
+ var uploadImageSupabaseService = () => {
7052
+ const supabase = useSupabaseOptional();
7053
+ const uploadImageSupabase = useCallback64(
7054
+ async (file, tenantId) => {
7055
+ if (!supabase) {
7056
+ console.error("Supabase client not initialized");
7057
+ return { url: null, error: "Supabase client not initialized" };
7058
+ }
7059
+ const bucketName = `tenant-${tenantId}`;
7060
+ try {
7061
+ const fileExt = file.name.split(".").pop();
7062
+ const fileName = `uploads/${Date.now()}_${Math.random().toString(36).substring(7)}.${fileExt}`;
7063
+ const { error: uploadError } = await supabase.storage.from(bucketName).upload(fileName, file, {
7064
+ cacheControl: "3600",
7065
+ upsert: false,
7066
+ contentType: file.type
7067
+ });
7068
+ if (uploadError) {
7069
+ console.error("Error uploading image:", uploadError);
7070
+ return { url: null, error: uploadError };
7071
+ }
7072
+ const { data: urlData } = supabase.storage.from(bucketName).getPublicUrl(fileName);
7073
+ return { url: urlData.publicUrl, error: null };
7074
+ } catch (error) {
7075
+ console.error("Error uploading image:", error);
7076
+ return { url: null, error };
7077
+ }
7078
+ },
7079
+ [supabase]
7080
+ );
7081
+ return {
7082
+ uploadImageSupabase
7083
+ };
7084
+ };
7085
+
7049
7086
  // src/services/pos-service/index.ts
7050
7087
  var serviceFactories = [
7051
7088
  addEntityService,
@@ -7099,7 +7136,8 @@ var serviceFactories = [
7099
7136
  createPaymentSupabaseService,
7100
7137
  createCustomerSupabaseService,
7101
7138
  updateCustomerSupabaseService,
7102
- deleteCustomerSupabaseService
7139
+ deleteCustomerSupabaseService,
7140
+ uploadImageSupabaseService
7103
7141
  ];
7104
7142
  var usePosService = () => {
7105
7143
  const { env } = useEnv();
@@ -7995,9 +8033,9 @@ var BaseModel = class {
7995
8033
  };
7996
8034
 
7997
8035
  // src/hooks/model/use-model.ts
7998
- import { useCallback as useCallback64 } from "react";
8036
+ import { useCallback as useCallback65 } from "react";
7999
8037
  var useModel = () => {
8000
- const initModel = useCallback64((modelData) => {
8038
+ const initModel = useCallback65((modelData) => {
8001
8039
  switch (modelData?.name) {
8002
8040
  default:
8003
8041
  return new BaseModel(modelData);
@@ -9330,6 +9368,16 @@ var useDeleteCustomer = () => {
9330
9368
  });
9331
9369
  };
9332
9370
  var use_delete_customer_default = useDeleteCustomer;
9371
+
9372
+ // src/hooks/pos/supabase/use-supa-upload-image.ts
9373
+ import { useMutation as useMutation110 } from "@tanstack/react-query";
9374
+ var useSupaUploadImage = () => {
9375
+ const { uploadImageSupabase } = uploadImageSupabaseService();
9376
+ return useMutation110({
9377
+ mutationFn: ({ file, tenantId }) => uploadImageSupabase(file, tenantId)
9378
+ });
9379
+ };
9380
+ var use_supa_upload_image_default = useSupaUploadImage;
9333
9381
  export {
9334
9382
  use_add_category_default as useAddCategory,
9335
9383
  use_add_entity_default as useAddEntity,
@@ -9448,6 +9496,7 @@ export {
9448
9496
  use_send_comment_default as useSendComment,
9449
9497
  use_settings_web_read_2fa_default as useSettingsWebRead2fa,
9450
9498
  use_signin_sso_default as useSignInSSO,
9499
+ use_supa_upload_image_default as useSupaUploadImage,
9451
9500
  use_switch_locale_default as useSwitchLocale,
9452
9501
  use_update_closed_session_default as useUpdateClosedSession,
9453
9502
  use_update_customer_default as useUpdateCustomer,
@@ -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-BPvoMGYJ.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, useGetImage, 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, useUploadFile, useCreateEntity, useGetASession, useCreateSession, useDeleteEntity, useGetList, useGetPos, useHandleClosingSession, useManageSession, useUpdateClosedSession, useUpdateEntity, useLoadDataPosSession, useManageOnChange, useGenSerialNumber, useGetOrderLine, useGetProductImage, useAddEntity, useCheckPayment, useHandleCloseSession, useHandleClosingDetailSession, useCreatePosConfig, useSearchJournal, useGetTenantMapping, useGetToken, useGetPreparationDisplayData, useUpdateOrderStatus, useGetThreadData, useGetThreadMessages, useGetExternalTabs, useProcessOrder, useGeneratePaymentQrInfo, useSavePinCode, useGetPinCode, useReadGroup, useGetNotifications, useGetDataChart, useGetVersion, useCreateEInvoice, useGetCurrentUser, useGetWard, useGetCity, useGetCountry, useGetPartnerTitle, useChangeOrderPreparationState, useCompleteCurrentStage, useLoginSupa, useAddFloor, useAddTable, useDeleteFloor, useDeleteTable, useUpdateFloor, useUpdateTable, useCreateOrder, useAddCategory, useAddProductToOrder, useUpdateOrderTotalAmount, useUpdateOrderLine, useUpdateOrder, useDeleteOrder, useDeleteOrderLine, useAddProduct, useGetFunctionalModules, useAddPaymentMethod, useUpdateSessionPaymentMethods, useCreatePayment, useCreateCustomer, useUpdateCustomer, useDeleteCustomer } from './hooks.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, useGetImage, useSendComment, useSupaUploadImage, 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, useUploadFile, useCreateEntity, useGetASession, useCreateSession, useDeleteEntity, useGetList, useGetPos, useHandleClosingSession, useManageSession, useUpdateClosedSession, useUpdateEntity, useLoadDataPosSession, useManageOnChange, useGenSerialNumber, useGetOrderLine, useGetProductImage, useAddEntity, useCheckPayment, useHandleCloseSession, useHandleClosingDetailSession, useCreatePosConfig, useSearchJournal, useGetTenantMapping, useGetToken, useGetPreparationDisplayData, useUpdateOrderStatus, useGetThreadData, useGetThreadMessages, useGetExternalTabs, useProcessOrder, useGeneratePaymentQrInfo, useSavePinCode, useGetPinCode, useReadGroup, useGetNotifications, useGetDataChart, useGetVersion, useCreateEInvoice, useGetCurrentUser, useGetWard, useGetCity, useGetCountry, useGetPartnerTitle, useChangeOrderPreparationState, useCompleteCurrentStage, useLoginSupa, useAddFloor, useAddTable, useDeleteFloor, useDeleteTable, useUpdateFloor, useUpdateTable, useCreateOrder, useAddCategory, useAddProductToOrder, useUpdateOrderTotalAmount, useUpdateOrderLine, useUpdateOrder, useDeleteOrder, useDeleteOrderLine, useAddProduct, useGetFunctionalModules, useAddPaymentMethod, useUpdateSessionPaymentMethods, useCreatePayment, useCreateCustomer, useUpdateCustomer, useDeleteCustomer, useUploadImage } from './hooks.mjs';
5
5
  import { SupabaseClient } from '@supabase/supabase-js';
6
6
  import '@tanstack/react-query';
7
7
  import './view-type-CfcWWR0w.mjs';
@@ -98,7 +98,7 @@ interface ServiceContextType {
98
98
  useGetFormView: typeof useGetFormView;
99
99
  useGetImage: typeof useGetImage;
100
100
  useSendComment: typeof useSendComment;
101
- useUploadImage: typeof useUploadImage;
101
+ useSupaUploadImage: typeof useSupaUploadImage;
102
102
  useDelete: typeof useDelete;
103
103
  useGetAll: typeof useGetAll;
104
104
  useGetConversionRate: typeof useGetConversionRate;
@@ -206,6 +206,7 @@ interface ServiceContextType {
206
206
  useCreateCustomer: typeof useCreateCustomer;
207
207
  useUpdateCustomer: typeof useUpdateCustomer;
208
208
  useDeleteCustomer: typeof useDeleteCustomer;
209
+ useUploadImage: typeof useUploadImage;
209
210
  }
210
211
  declare const ServiceProvider: ({ children, }: {
211
212
  children: React.ReactNode;
@@ -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-BPvoMGYJ.js';
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, useGetImage, 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, useUploadFile, useCreateEntity, useGetASession, useCreateSession, useDeleteEntity, useGetList, useGetPos, useHandleClosingSession, useManageSession, useUpdateClosedSession, useUpdateEntity, useLoadDataPosSession, useManageOnChange, useGenSerialNumber, useGetOrderLine, useGetProductImage, useAddEntity, useCheckPayment, useHandleCloseSession, useHandleClosingDetailSession, useCreatePosConfig, useSearchJournal, useGetTenantMapping, useGetToken, useGetPreparationDisplayData, useUpdateOrderStatus, useGetThreadData, useGetThreadMessages, useGetExternalTabs, useProcessOrder, useGeneratePaymentQrInfo, useSavePinCode, useGetPinCode, useReadGroup, useGetNotifications, useGetDataChart, useGetVersion, useCreateEInvoice, useGetCurrentUser, useGetWard, useGetCity, useGetCountry, useGetPartnerTitle, useChangeOrderPreparationState, useCompleteCurrentStage, useLoginSupa, useAddFloor, useAddTable, useDeleteFloor, useDeleteTable, useUpdateFloor, useUpdateTable, useCreateOrder, useAddCategory, useAddProductToOrder, useUpdateOrderTotalAmount, useUpdateOrderLine, useUpdateOrder, useDeleteOrder, useDeleteOrderLine, useAddProduct, useGetFunctionalModules, useAddPaymentMethod, useUpdateSessionPaymentMethods, useCreatePayment, useCreateCustomer, useUpdateCustomer, useDeleteCustomer } from './hooks.js';
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, useGetImage, useSendComment, useSupaUploadImage, 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, useUploadFile, useCreateEntity, useGetASession, useCreateSession, useDeleteEntity, useGetList, useGetPos, useHandleClosingSession, useManageSession, useUpdateClosedSession, useUpdateEntity, useLoadDataPosSession, useManageOnChange, useGenSerialNumber, useGetOrderLine, useGetProductImage, useAddEntity, useCheckPayment, useHandleCloseSession, useHandleClosingDetailSession, useCreatePosConfig, useSearchJournal, useGetTenantMapping, useGetToken, useGetPreparationDisplayData, useUpdateOrderStatus, useGetThreadData, useGetThreadMessages, useGetExternalTabs, useProcessOrder, useGeneratePaymentQrInfo, useSavePinCode, useGetPinCode, useReadGroup, useGetNotifications, useGetDataChart, useGetVersion, useCreateEInvoice, useGetCurrentUser, useGetWard, useGetCity, useGetCountry, useGetPartnerTitle, useChangeOrderPreparationState, useCompleteCurrentStage, useLoginSupa, useAddFloor, useAddTable, useDeleteFloor, useDeleteTable, useUpdateFloor, useUpdateTable, useCreateOrder, useAddCategory, useAddProductToOrder, useUpdateOrderTotalAmount, useUpdateOrderLine, useUpdateOrder, useDeleteOrder, useDeleteOrderLine, useAddProduct, useGetFunctionalModules, useAddPaymentMethod, useUpdateSessionPaymentMethods, useCreatePayment, useCreateCustomer, useUpdateCustomer, useDeleteCustomer, useUploadImage } from './hooks.js';
5
5
  import { SupabaseClient } from '@supabase/supabase-js';
6
6
  import '@tanstack/react-query';
7
7
  import './view-type-CfcWWR0w.js';
@@ -98,7 +98,7 @@ interface ServiceContextType {
98
98
  useGetFormView: typeof useGetFormView;
99
99
  useGetImage: typeof useGetImage;
100
100
  useSendComment: typeof useSendComment;
101
- useUploadImage: typeof useUploadImage;
101
+ useSupaUploadImage: typeof useSupaUploadImage;
102
102
  useDelete: typeof useDelete;
103
103
  useGetAll: typeof useGetAll;
104
104
  useGetConversionRate: typeof useGetConversionRate;
@@ -206,6 +206,7 @@ interface ServiceContextType {
206
206
  useCreateCustomer: typeof useCreateCustomer;
207
207
  useUpdateCustomer: typeof useUpdateCustomer;
208
208
  useDeleteCustomer: typeof useDeleteCustomer;
209
+ useUploadImage: typeof useUploadImage;
209
210
  }
210
211
  declare const ServiceProvider: ({ children, }: {
211
212
  children: React.ReactNode;
package/dist/provider.js CHANGED
@@ -700,7 +700,7 @@ var MainProvider = ({ children }) => {
700
700
  };
701
701
 
702
702
  // src/provider/version-gate-provider.tsx
703
- var import_react66 = require("react");
703
+ var import_react67 = require("react");
704
704
  var import_react_query2 = require("@tanstack/react-query");
705
705
 
706
706
  // src/services/action-service/index.ts
@@ -7207,6 +7207,43 @@ var deleteCustomerSupabaseService = () => {
7207
7207
  };
7208
7208
  };
7209
7209
 
7210
+ // src/services/pos-service/supabase/upload-image.ts
7211
+ var import_react66 = require("react");
7212
+ var uploadImageSupabaseService = () => {
7213
+ const supabase = useSupabaseOptional();
7214
+ const uploadImageSupabase = (0, import_react66.useCallback)(
7215
+ async (file, tenantId) => {
7216
+ if (!supabase) {
7217
+ console.error("Supabase client not initialized");
7218
+ return { url: null, error: "Supabase client not initialized" };
7219
+ }
7220
+ const bucketName = `tenant-${tenantId}`;
7221
+ try {
7222
+ const fileExt = file.name.split(".").pop();
7223
+ const fileName = `uploads/${Date.now()}_${Math.random().toString(36).substring(7)}.${fileExt}`;
7224
+ const { error: uploadError } = await supabase.storage.from(bucketName).upload(fileName, file, {
7225
+ cacheControl: "3600",
7226
+ upsert: false,
7227
+ contentType: file.type
7228
+ });
7229
+ if (uploadError) {
7230
+ console.error("Error uploading image:", uploadError);
7231
+ return { url: null, error: uploadError };
7232
+ }
7233
+ const { data: urlData } = supabase.storage.from(bucketName).getPublicUrl(fileName);
7234
+ return { url: urlData.publicUrl, error: null };
7235
+ } catch (error) {
7236
+ console.error("Error uploading image:", error);
7237
+ return { url: null, error };
7238
+ }
7239
+ },
7240
+ [supabase]
7241
+ );
7242
+ return {
7243
+ uploadImageSupabase
7244
+ };
7245
+ };
7246
+
7210
7247
  // src/services/pos-service/index.ts
7211
7248
  var serviceFactories = [
7212
7249
  addEntityService,
@@ -7260,7 +7297,8 @@ var serviceFactories = [
7260
7297
  createPaymentSupabaseService,
7261
7298
  createCustomerSupabaseService,
7262
7299
  updateCustomerSupabaseService,
7263
- deleteCustomerSupabaseService
7300
+ deleteCustomerSupabaseService,
7301
+ uploadImageSupabaseService
7264
7302
  ];
7265
7303
  var usePosService = () => {
7266
7304
  const { env } = useEnv();
@@ -7276,9 +7314,9 @@ var usePosService = () => {
7276
7314
  var import_jsx_runtime5 = require("react/jsx-runtime");
7277
7315
  var VersionGate = ({ children }) => {
7278
7316
  const queryClient = (0, import_react_query2.useQueryClient)();
7279
- const [ready, setReady] = (0, import_react66.useState)(false);
7317
+ const [ready, setReady] = (0, import_react67.useState)(false);
7280
7318
  const { getVersion } = useViewService();
7281
- (0, import_react66.useEffect)(() => {
7319
+ (0, import_react67.useEffect)(() => {
7282
7320
  const clearVersion = () => {
7283
7321
  queryClient.clear();
7284
7322
  localStorage.removeItem("__api_version__");
@@ -7309,7 +7347,7 @@ var VersionGate = ({ children }) => {
7309
7347
  };
7310
7348
 
7311
7349
  // src/provider/env-provider.tsx
7312
- var import_react67 = require("react");
7350
+ var import_react68 = require("react");
7313
7351
 
7314
7352
  // src/configs/axios-client.ts
7315
7353
  var import_axios = __toESM(require("axios"));
@@ -7662,18 +7700,18 @@ var initialEnvState = {
7662
7700
  excludeLanguages: [],
7663
7701
  isSupaMode: false
7664
7702
  };
7665
- var EnvContext = (0, import_react67.createContext)(null);
7703
+ var EnvContext = (0, import_react68.createContext)(null);
7666
7704
  function EnvProvider({
7667
7705
  children,
7668
7706
  localStorageUtils: localStorageUtil = localStorageUtils(),
7669
7707
  sessionStorageUtils: sessionStorageUtil = sessionStorageUtils
7670
7708
  }) {
7671
- const [env, setEnvState] = (0, import_react67.useState)({
7709
+ const [env, setEnvState] = (0, import_react68.useState)({
7672
7710
  ...initialEnvState,
7673
7711
  localStorageUtils: localStorageUtil,
7674
7712
  sessionStorageUtils: sessionStorageUtil
7675
7713
  });
7676
- const setupEnv = (0, import_react67.useCallback)(
7714
+ const setupEnv = (0, import_react68.useCallback)(
7677
7715
  (envConfig) => {
7678
7716
  const updatedEnv = {
7679
7717
  ...env,
@@ -7687,31 +7725,31 @@ function EnvProvider({
7687
7725
  },
7688
7726
  [env, localStorageUtil, sessionStorageUtil]
7689
7727
  );
7690
- const setUid2 = (0, import_react67.useCallback)((uid) => {
7728
+ const setUid2 = (0, import_react68.useCallback)((uid) => {
7691
7729
  setEnvState((prev) => ({
7692
7730
  ...prev,
7693
7731
  context: { ...prev.context, uid }
7694
7732
  }));
7695
7733
  }, []);
7696
- const setLang2 = (0, import_react67.useCallback)((lang) => {
7734
+ const setLang2 = (0, import_react68.useCallback)((lang) => {
7697
7735
  setEnvState((prev) => ({
7698
7736
  ...prev,
7699
7737
  context: { ...prev.context, lang }
7700
7738
  }));
7701
7739
  }, []);
7702
- const setAllowCompanies2 = (0, import_react67.useCallback)((allowed_company_ids) => {
7740
+ const setAllowCompanies2 = (0, import_react68.useCallback)((allowed_company_ids) => {
7703
7741
  setEnvState((prev) => ({
7704
7742
  ...prev,
7705
7743
  context: { ...prev.context, allowed_company_ids }
7706
7744
  }));
7707
7745
  }, []);
7708
- const setCompanies2 = (0, import_react67.useCallback)((companies) => {
7746
+ const setCompanies2 = (0, import_react68.useCallback)((companies) => {
7709
7747
  setEnvState((prev) => ({
7710
7748
  ...prev,
7711
7749
  companies
7712
7750
  }));
7713
7751
  }, []);
7714
- const setDefaultCompany2 = (0, import_react67.useCallback)(
7752
+ const setDefaultCompany2 = (0, import_react68.useCallback)(
7715
7753
  (defaultCompany) => {
7716
7754
  setEnvState((prev) => ({
7717
7755
  ...prev,
@@ -7720,19 +7758,19 @@ function EnvProvider({
7720
7758
  },
7721
7759
  []
7722
7760
  );
7723
- const setUserInfo = (0, import_react67.useCallback)((user) => {
7761
+ const setUserInfo = (0, import_react68.useCallback)((user) => {
7724
7762
  setEnvState((prev) => ({
7725
7763
  ...prev,
7726
7764
  user
7727
7765
  }));
7728
7766
  }, []);
7729
- const setConfig2 = (0, import_react67.useCallback)((config) => {
7767
+ const setConfig2 = (0, import_react68.useCallback)((config) => {
7730
7768
  setEnvState((prev) => ({
7731
7769
  ...prev,
7732
7770
  config
7733
7771
  }));
7734
7772
  }, []);
7735
- const setEnvFile2 = (0, import_react67.useCallback)((envFile) => {
7773
+ const setEnvFile2 = (0, import_react68.useCallback)((envFile) => {
7736
7774
  setEnvState((prev) => ({
7737
7775
  ...prev,
7738
7776
  envFile
@@ -7758,7 +7796,7 @@ function EnvProvider({
7758
7796
  );
7759
7797
  }
7760
7798
  function useEnv() {
7761
- const context = (0, import_react67.useContext)(EnvContext);
7799
+ const context = (0, import_react68.useContext)(EnvContext);
7762
7800
  if (!context) {
7763
7801
  throw new Error("useEnv must be used within an EnvProvider");
7764
7802
  }
@@ -7766,7 +7804,7 @@ function useEnv() {
7766
7804
  }
7767
7805
 
7768
7806
  // src/provider/service-provider.tsx
7769
- var import_react69 = require("react");
7807
+ var import_react70 = require("react");
7770
7808
 
7771
7809
  // src/hooks/auth/use-forgot-password.ts
7772
7810
  var import_react_query3 = require("@tanstack/react-query");
@@ -8653,9 +8691,9 @@ var BaseModel = class {
8653
8691
  };
8654
8692
 
8655
8693
  // src/hooks/model/use-model.ts
8656
- var import_react68 = require("react");
8694
+ var import_react69 = require("react");
8657
8695
  var useModel = () => {
8658
- const initModel = (0, import_react68.useCallback)((modelData) => {
8696
+ const initModel = (0, import_react69.useCallback)((modelData) => {
8659
8697
  switch (modelData?.name) {
8660
8698
  default:
8661
8699
  return new BaseModel(modelData);
@@ -9989,9 +10027,19 @@ var useDeleteCustomer = () => {
9989
10027
  };
9990
10028
  var use_delete_customer_default = useDeleteCustomer;
9991
10029
 
10030
+ // src/hooks/pos/supabase/use-supa-upload-image.ts
10031
+ var import_react_query137 = require("@tanstack/react-query");
10032
+ var useSupaUploadImage = () => {
10033
+ const { uploadImageSupabase } = uploadImageSupabaseService();
10034
+ return (0, import_react_query137.useMutation)({
10035
+ mutationFn: ({ file, tenantId }) => uploadImageSupabase(file, tenantId)
10036
+ });
10037
+ };
10038
+ var use_supa_upload_image_default = useSupaUploadImage;
10039
+
9992
10040
  // src/provider/service-provider.tsx
9993
10041
  var import_jsx_runtime7 = require("react/jsx-runtime");
9994
- var ServiceContext = (0, import_react69.createContext)(null);
10042
+ var ServiceContext = (0, import_react70.createContext)(null);
9995
10043
  var ServiceProvider = ({
9996
10044
  children
9997
10045
  }) => {
@@ -10024,7 +10072,7 @@ var ServiceProvider = ({
10024
10072
  useGetFormView: use_get_form_view_default,
10025
10073
  useGetImage: use_get_image_default,
10026
10074
  useSendComment: use_send_comment_default,
10027
- useUploadImage: use_upload_image_default,
10075
+ useSupaUploadImage: use_supa_upload_image_default,
10028
10076
  useDelete: use_delete_default,
10029
10077
  useGetAll: use_get_all_default,
10030
10078
  useGetConversionRate: use_get_conversion_rate_default,
@@ -10131,12 +10179,13 @@ var ServiceProvider = ({
10131
10179
  useCreatePayment: use_create_payment_default,
10132
10180
  useCreateCustomer: use_create_customer_default,
10133
10181
  useUpdateCustomer: use_update_customer_default,
10134
- useDeleteCustomer: use_delete_customer_default
10182
+ useDeleteCustomer: use_delete_customer_default,
10183
+ useUploadImage: use_upload_image_default
10135
10184
  };
10136
10185
  return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(ServiceContext.Provider, { value: services, children });
10137
10186
  };
10138
10187
  var useService = () => {
10139
- const context = (0, import_react69.useContext)(ServiceContext);
10188
+ const context = (0, import_react70.useContext)(ServiceContext);
10140
10189
  if (!context) {
10141
10190
  throw new Error("useService must be used within a ServiceProvider");
10142
10191
  }
@@ -10144,7 +10193,7 @@ var useService = () => {
10144
10193
  };
10145
10194
 
10146
10195
  // src/provider/meta-provider.tsx
10147
- var import_react70 = require("react");
10196
+ var import_react71 = require("react");
10148
10197
  var import_jsx_runtime8 = require("react/jsx-runtime");
10149
10198
  var MetaProvider = ({ children }) => {
10150
10199
  const { env } = useEnv();
@@ -10193,7 +10242,7 @@ var MetaProvider = ({ children }) => {
10193
10242
  }
10194
10243
  }
10195
10244
  }
10196
- (0, import_react70.useEffect)(() => {
10245
+ (0, import_react71.useEffect)(() => {
10197
10246
  updateMetadata();
10198
10247
  }, [env?.defaultCompany]);
10199
10248
  return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_jsx_runtime8.Fragment, { children });