feat: implement file and repository management hooks and APIs

This commit is contained in:
2026-01-09 09:42:17 -06:00
parent 65a73ca99f
commit 5e3da99db3
7 changed files with 228 additions and 95 deletions

View File

@@ -0,0 +1,46 @@
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] });
},
});
}