FactuGES_ERP/modules/customers/src/web/hooks/use-customers-search-query.tsx
2025-09-30 17:58:04 +02:00

32 lines
791 B
TypeScript

import { useDataSource } from "@erp/core/hooks";
import { useQuery } from "@tanstack/react-query";
import { CustomerSummary, CustomersPage } from "../schemas";
export interface CustomersCriteria {
q?: string;
orderBy?: string;
order?: string;
pageSize?: number;
pageNumber?: number;
}
// Obtener todos los clientes
export const useCustomersSearchQuery = (criteria: CustomersCriteria) => {
const dataSource = useDataSource();
return useQuery({
queryKey: ["customer", criteria],
queryFn: async (context) => {
const { signal } = context;
const customers = await dataSource.getList("customers", {
signal,
...criteria,
});
return customers as CustomersPage;
},
select: (data) => data.items as CustomerSummary[],
});
};