47 lines
1.1 KiB
TypeScript
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] });
|
|
},
|
|
});
|
|
}
|