FactuGES_ERP/modules/customers/src/web/update/controllers/use-customer-update-fiscal-controller.ts
2026-06-25 13:49:59 +02:00

80 lines
2.0 KiB
TypeScript

import {
getPaymentMethodOptions,
usePaymentMethodsListQuery,
} from "@erp/catalogs/client/payment-methods";
import {
getPaymentTermOptions,
usePaymentTermsListQuery,
} from "@erp/catalogs/client/payment-terms";
import { getTaxRegimeOptions, useTaxRegimesListQuery } from "@erp/catalogs/client/tax-regimes";
import { useMemo } from "react";
export const useCustomerUpdateFiscalController = () => {
const paymentMethodsQuery = usePaymentMethodsListQuery({
criteria: {
pageSize: 999,
filters: [
{
field: "isActive",
operator: "EQUALS",
value: "true",
},
],
},
});
const paymentTermsQuery = usePaymentTermsListQuery({
criteria: {
filters: [
{
field: "isActive",
operator: "EQUALS",
value: "true",
},
],
},
});
const taxRegimesQuery = useTaxRegimesListQuery({
criteria: {
filters: [
{
field: "isActive",
operator: "EQUALS",
value: "true",
},
],
},
});
const paymentMethodOptions = useMemo(() => {
return getPaymentMethodOptions(paymentMethodsQuery.data?.items ?? []);
}, [paymentMethodsQuery.data?.items]);
const paymentTermOptions = useMemo(() => {
return getPaymentTermOptions(paymentTermsQuery.data?.items ?? []);
}, [paymentTermsQuery.data?.items]);
const taxRegimeOptions = useMemo(() => {
return getTaxRegimeOptions(taxRegimesQuery.data?.items ?? []);
}, [taxRegimesQuery.data?.items]);
return {
paymentMethodOptions,
paymentTermOptions,
taxRegimeOptions,
isLoading: paymentMethodsQuery.isLoading || paymentTermsQuery.isLoading,
isFetching: paymentMethodsQuery.isFetching || paymentTermsQuery.isFetching,
isError: paymentMethodsQuery.isError || paymentTermsQuery.isError,
error: paymentMethodsQuery.error ?? paymentTermsQuery.error,
};
};
export type UseCustomerUpdateFiscalControllerResult = ReturnType<
typeof useCustomerUpdateFiscalController
>;