@fctc/interface-logic 4.8.2 → 4.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/provider.mjs CHANGED
@@ -7011,6 +7011,76 @@ var updateSessionPaymentMethodsSupabaseService = () => {
7011
7011
  };
7012
7012
  };
7013
7013
 
7014
+ // src/services/pos-service/supabase/create-payment.ts
7015
+ import { useCallback as useCallback59 } from "react";
7016
+ var createPaymentSupabaseService = () => {
7017
+ const supabase = useSupabaseOptional();
7018
+ const createPaymentSupabase = useCallback59(
7019
+ async (values) => {
7020
+ if (!supabase) {
7021
+ console.error("Supabase client not initialized");
7022
+ return null;
7023
+ }
7024
+ try {
7025
+ const { data: paymentData, error: paymentError } = await supabase.from("payments" /* PAYMENTS */).insert({
7026
+ pos_order_id: values.pos_order_id,
7027
+ payment_method_id: values.payment_method_id,
7028
+ session_id: values.session_id,
7029
+ amount: values.amount
7030
+ }).select("id, amount").single();
7031
+ if (paymentError) {
7032
+ console.error("Error creating payment:", paymentError);
7033
+ return null;
7034
+ }
7035
+ const { data: orderData, error: orderError } = await supabase.from("orders" /* ORDERS */).select("amount_paid, state").eq("id", values.pos_order_id).single();
7036
+ if (orderError) {
7037
+ console.error("Error fetching order:", orderError);
7038
+ return null;
7039
+ }
7040
+ const amountPaid = orderData.amount_paid;
7041
+ const isComplete = amountPaid >= values.order_total;
7042
+ const amountReturn = isComplete ? amountPaid - values.order_total : 0;
7043
+ let orderState = orderData.state;
7044
+ if (isComplete) {
7045
+ const { error: updateError } = await supabase.from("orders" /* ORDERS */).update({
7046
+ state: "paid",
7047
+ amount_return: amountReturn,
7048
+ updated_at: (/* @__PURE__ */ new Date()).toISOString()
7049
+ }).eq("id", values.pos_order_id);
7050
+ if (updateError) {
7051
+ console.error("Error updating order state:", updateError);
7052
+ } else {
7053
+ orderState = "paid";
7054
+ }
7055
+ } else if (orderData.state === "new") {
7056
+ const { error: updateError } = await supabase.from("orders" /* ORDERS */).update({
7057
+ state: "in_paid",
7058
+ updated_at: (/* @__PURE__ */ new Date()).toISOString()
7059
+ }).eq("id", values.pos_order_id);
7060
+ if (!updateError) {
7061
+ orderState = "in_paid";
7062
+ }
7063
+ }
7064
+ return {
7065
+ id: paymentData.id,
7066
+ amount: paymentData.amount,
7067
+ amount_paid: amountPaid,
7068
+ amount_return: amountReturn,
7069
+ is_complete: isComplete,
7070
+ order_state: orderState
7071
+ };
7072
+ } catch (error) {
7073
+ console.error("Error creating payment:", error);
7074
+ return null;
7075
+ }
7076
+ },
7077
+ [supabase]
7078
+ );
7079
+ return {
7080
+ createPaymentSupabase
7081
+ };
7082
+ };
7083
+
7014
7084
  // src/services/pos-service/index.ts
7015
7085
  var serviceFactories = [
7016
7086
  addEntityService,
@@ -7060,7 +7130,8 @@ var serviceFactories = [
7060
7130
  addProductSupabaseService,
7061
7131
  getFunctionalModulesService,
7062
7132
  addPaymentMethodSupabaseService,
7063
- updateSessionPaymentMethodsSupabaseService
7133
+ updateSessionPaymentMethodsSupabaseService,
7134
+ createPaymentSupabaseService
7064
7135
  ];
7065
7136
  var usePosService = () => {
7066
7137
  const { env } = useEnv();
@@ -7109,7 +7180,7 @@ var VersionGate = ({ children }) => {
7109
7180
  };
7110
7181
 
7111
7182
  // src/provider/env-provider.tsx
7112
- import { createContext as createContext2, useContext as useContext2, useState as useState4, useCallback as useCallback59 } from "react";
7183
+ import { createContext as createContext2, useContext as useContext2, useState as useState4, useCallback as useCallback60 } from "react";
7113
7184
 
7114
7185
  // src/configs/axios-client.ts
7115
7186
  import axios from "axios";
@@ -7473,7 +7544,7 @@ function EnvProvider({
7473
7544
  localStorageUtils: localStorageUtil,
7474
7545
  sessionStorageUtils: sessionStorageUtil
7475
7546
  });
7476
- const setupEnv = useCallback59(
7547
+ const setupEnv = useCallback60(
7477
7548
  (envConfig) => {
7478
7549
  const updatedEnv = {
7479
7550
  ...env,
@@ -7487,31 +7558,31 @@ function EnvProvider({
7487
7558
  },
7488
7559
  [env, localStorageUtil, sessionStorageUtil]
7489
7560
  );
7490
- const setUid2 = useCallback59((uid) => {
7561
+ const setUid2 = useCallback60((uid) => {
7491
7562
  setEnvState((prev) => ({
7492
7563
  ...prev,
7493
7564
  context: { ...prev.context, uid }
7494
7565
  }));
7495
7566
  }, []);
7496
- const setLang2 = useCallback59((lang) => {
7567
+ const setLang2 = useCallback60((lang) => {
7497
7568
  setEnvState((prev) => ({
7498
7569
  ...prev,
7499
7570
  context: { ...prev.context, lang }
7500
7571
  }));
7501
7572
  }, []);
7502
- const setAllowCompanies2 = useCallback59((allowed_company_ids) => {
7573
+ const setAllowCompanies2 = useCallback60((allowed_company_ids) => {
7503
7574
  setEnvState((prev) => ({
7504
7575
  ...prev,
7505
7576
  context: { ...prev.context, allowed_company_ids }
7506
7577
  }));
7507
7578
  }, []);
7508
- const setCompanies2 = useCallback59((companies) => {
7579
+ const setCompanies2 = useCallback60((companies) => {
7509
7580
  setEnvState((prev) => ({
7510
7581
  ...prev,
7511
7582
  companies
7512
7583
  }));
7513
7584
  }, []);
7514
- const setDefaultCompany2 = useCallback59(
7585
+ const setDefaultCompany2 = useCallback60(
7515
7586
  (defaultCompany) => {
7516
7587
  setEnvState((prev) => ({
7517
7588
  ...prev,
@@ -7520,19 +7591,19 @@ function EnvProvider({
7520
7591
  },
7521
7592
  []
7522
7593
  );
7523
- const setUserInfo = useCallback59((user) => {
7594
+ const setUserInfo = useCallback60((user) => {
7524
7595
  setEnvState((prev) => ({
7525
7596
  ...prev,
7526
7597
  user
7527
7598
  }));
7528
7599
  }, []);
7529
- const setConfig2 = useCallback59((config) => {
7600
+ const setConfig2 = useCallback60((config) => {
7530
7601
  setEnvState((prev) => ({
7531
7602
  ...prev,
7532
7603
  config
7533
7604
  }));
7534
7605
  }, []);
7535
- const setEnvFile2 = useCallback59((envFile) => {
7606
+ const setEnvFile2 = useCallback60((envFile) => {
7536
7607
  setEnvState((prev) => ({
7537
7608
  ...prev,
7538
7609
  envFile
@@ -8453,9 +8524,9 @@ var BaseModel = class {
8453
8524
  };
8454
8525
 
8455
8526
  // src/hooks/model/use-model.ts
8456
- import { useCallback as useCallback60 } from "react";
8527
+ import { useCallback as useCallback61 } from "react";
8457
8528
  var useModel = () => {
8458
- const initModel = useCallback60((modelData) => {
8529
+ const initModel = useCallback61((modelData) => {
8459
8530
  switch (modelData?.name) {
8460
8531
  default:
8461
8532
  return new BaseModel(modelData);
@@ -9749,6 +9820,16 @@ var useUpdateSessionPaymentMethods = () => {
9749
9820
  };
9750
9821
  var use_update_session_payment_methods_default = useUpdateSessionPaymentMethods;
9751
9822
 
9823
+ // src/hooks/pos/supabase/use-create-payment.ts
9824
+ import { useMutation as useMutation106 } from "@tanstack/react-query";
9825
+ var useCreatePayment = () => {
9826
+ const { createPaymentSupabase } = createPaymentSupabaseService();
9827
+ return useMutation106({
9828
+ mutationFn: createPaymentSupabase
9829
+ });
9830
+ };
9831
+ var use_create_payment_default = useCreatePayment;
9832
+
9752
9833
  // src/provider/service-provider.tsx
9753
9834
  import { jsx as jsx7 } from "react/jsx-runtime";
9754
9835
  var ServiceContext = createContext3(null);
@@ -9887,7 +9968,8 @@ var ServiceProvider = ({
9887
9968
  useAddProduct: use_add_product_default,
9888
9969
  useGetFunctionalModules: use_get_functional_modules_default,
9889
9970
  useAddPaymentMethod: use_add_payment_method_default,
9890
- useUpdateSessionPaymentMethods: use_update_session_payment_methods_default
9971
+ useUpdateSessionPaymentMethods: use_update_session_payment_methods_default,
9972
+ useCreatePayment: use_create_payment_default
9891
9973
  };
9892
9974
  return /* @__PURE__ */ jsx7(ServiceContext.Provider, { value: services, children });
9893
9975
  };
@@ -785,6 +785,21 @@ declare const serviceFactories: readonly [(env: any) => {
785
785
  session_id: number;
786
786
  payment_method_ids: number[];
787
787
  }) => Promise<number[] | null>;
788
+ }, () => {
789
+ createPaymentSupabase: (values: {
790
+ pos_order_id: number;
791
+ payment_method_id: number;
792
+ session_id: number;
793
+ amount: number;
794
+ order_total: number;
795
+ }) => Promise<{
796
+ id: number;
797
+ amount: number;
798
+ amount_paid: number;
799
+ amount_return: number;
800
+ is_complete: boolean;
801
+ order_state: string;
802
+ } | null>;
788
803
  }];
789
804
  type ServiceFactories = (typeof serviceFactories)[number];
790
805
  type ServiceReturn<T extends ServiceFactories> = ReturnType<T>;
@@ -785,6 +785,21 @@ declare const serviceFactories: readonly [(env: any) => {
785
785
  session_id: number;
786
786
  payment_method_ids: number[];
787
787
  }) => Promise<number[] | null>;
788
+ }, () => {
789
+ createPaymentSupabase: (values: {
790
+ pos_order_id: number;
791
+ payment_method_id: number;
792
+ session_id: number;
793
+ amount: number;
794
+ order_total: number;
795
+ }) => Promise<{
796
+ id: number;
797
+ amount: number;
798
+ amount_paid: number;
799
+ amount_return: number;
800
+ is_complete: boolean;
801
+ order_state: string;
802
+ } | null>;
788
803
  }];
789
804
  type ServiceFactories = (typeof serviceFactories)[number];
790
805
  type ServiceReturn<T extends ServiceFactories> = ReturnType<T>;