33 lines
831 B
TypeScript
33 lines
831 B
TypeScript
import { useQuery, useQueryClient } from "@tanstack/react-query";
|
|
import { AttributeSchema } from "@/lib/client";
|
|
import {
|
|
getAttributesOptions,
|
|
getProjectsQueryKey,
|
|
} from "@/lib/client/@tanstack/react-query.gen";
|
|
|
|
const useAttributesList = () => {
|
|
const queryClient = useQueryClient();
|
|
const { data, refetch } = useQuery(getAttributesOptions());
|
|
|
|
const queryKey = getProjectsQueryKey();
|
|
|
|
const setAttributes = (attributes: AttributeSchema[]) => {
|
|
queryClient.setQueryData(
|
|
queryKey,
|
|
(old: { items: AttributeSchema[] }) => ({
|
|
...old,
|
|
items: attributes,
|
|
})
|
|
);
|
|
};
|
|
|
|
return {
|
|
attributes: data?.items ?? [],
|
|
setAttributes,
|
|
refetch,
|
|
queryKey,
|
|
};
|
|
};
|
|
|
|
export default useAttributesList;
|