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 >;