38 lines
974 B
TypeScript
38 lines
974 B
TypeScript
import { getQueryKey } from "@trpc/react-query";
|
|
import { api } from "../utils/trpc"; // Adjust path as necessary
|
|
import { useQueryClient } from "@tanstack/react-query";
|
|
|
|
export function useRole() {
|
|
const queryClient = useQueryClient();
|
|
const queryKey = getQueryKey(api.role);
|
|
|
|
const create = api.role.create.useMutation({
|
|
onSuccess: () => {
|
|
queryClient.invalidateQueries({ queryKey });
|
|
},
|
|
});
|
|
|
|
|
|
const update = api.role.update.useMutation({
|
|
onSuccess: () => {
|
|
queryClient.invalidateQueries({ queryKey });
|
|
},
|
|
});
|
|
|
|
const batchDelete = api.role.batchDelete.useMutation({
|
|
onSuccess: () => {
|
|
queryClient.invalidateQueries({ queryKey })
|
|
}
|
|
})
|
|
const paginate = (page: number, pageSize: number) => {
|
|
return api.role.paginate.useQuery({ page, pageSize });
|
|
};
|
|
|
|
return {
|
|
create,
|
|
update,
|
|
paginate,
|
|
batchDelete
|
|
};
|
|
}
|