/**
* @file
* File : refFamilyApiSlice.js\
* Defines API endpoints for managing reference families using RTK Query.
* Extends the base API slice with related endpoints.
*
* @author Pierre-Yves Léglise <contact@axialdata.net>
* @name reFamilyApiSlice
*/
import { apiSlice } from './apiSlice'
export const reFamilyApiSlice = apiSlice.injectEndpoints({
endpoints: (builder) => ({
listRefFamily: builder.query({
query: (params) => ({
url: `/reffamilies`,
method: 'get',
withCredentials: true,
params: { ...params },
}),
}),
searchRefFamily: builder.query({
query: (query) => ({
url: `/reffamilies/search`,
method: 'get',
withCredentials: true,
params: { q: query }, // Ajout du paramètre de recherche
}),
keepUnusedDataFor: 0, // Optionnel, pour éviter de garder les anciennes recherches en cache
}),
updateRefFamily: builder.mutation({
query: ({ id, data }) => ({
url: `/reffamily/${id}`,
method: 'patch',
withCredentials: true,
data: { ...data },
}),
keepUnusedDataFor: 0,
}),
createRefFamily: builder.mutation({
query: ({ data }) => ({
url: `/reffamily`,
method: 'put',
withCredentials: true,
data: { ...data },
}),
keepUnusedDataFor: 0,
}),
deleteRefFamily: builder.mutation({
query: ({ id }) => ({
url: `/reffamily/${id}`,
method: 'delete',
withCredentials: true,
}),
keepUnusedDataFor: 0,
}),
}),
})
/**
* Hooks for interacting with the orders-related endpoints.
*
* @typedef {Object} Hooks
* @author Pierre-Yves Léglise <contact@axialdata.net>
* @property {Function} - Hook to trigger the getOrdersList query.
* @example
* const { data, isLoading, isFetching } = useGetOrdersListQuery({
* ordersGroupNb: selectedOrdersGroupNb,
* })
* @returns {Object} Object containing order-related endpoint hooks.
*/
export const {
useListRefFamilyQuery,
useSearchRefFamilyQuery,
useUpdateRefFamilyMutation,
useCreateRefFamilyMutation,
useDeleteRefFamilyMutation,
} = reFamilyApiSlice