Files
acad-ia-2/src/data/hooks/useRepositories.ts

47 lines
1.1 KiB
TypeScript

import { useMutation, useQueryClient } from "@tanstack/react-query";
import { repos_add_files, repos_create, repos_delete, repos_remove_files } from "../api/repositories.api";
export function useCreateRepository() {
const qc = useQueryClient();
return useMutation({
mutationFn: repos_create,
onSuccess: () => {
qc.invalidateQueries({ queryKey: ["repos"] });
},
});
}
export function useDeleteRepository() {
const qc = useQueryClient();
return useMutation({
mutationFn: repos_delete,
onSuccess: () => {
qc.invalidateQueries({ queryKey: ["repos"] });
},
});
}
export function useRepoAddFiles() {
const qc = useQueryClient();
return useMutation({
mutationFn: repos_add_files,
onSuccess: (_ok, vars) => {
qc.invalidateQueries({ queryKey: ["repos", vars.repoId] });
},
});
}
export function useRepoRemoveFiles() {
const qc = useQueryClient();
return useMutation({
mutationFn: repos_remove_files,
onSuccess: (_ok, vars) => {
qc.invalidateQueries({ queryKey: ["repos", vars.repoId] });
},
});
}