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,43 @@
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
import { files_get_signed_url, files_list } from "../api/files.api";
import { openai_files_delete, openai_files_upload } from "../api/openaiFiles.api";
const qkFiles = {
list: (filters: any) => ["files", "list", filters] as const,
};
export function useFilesList(filters?: { temporal?: boolean; search?: string; limit?: number }) {
return useQuery({
queryKey: qkFiles.list(filters ?? {}),
queryFn: () => files_list(filters),
staleTime: 15_000,
});
}
export function useUploadOpenAIFile() {
const qc = useQueryClient();
return useMutation({
mutationFn: openai_files_upload,
onSuccess: () => {
qc.invalidateQueries({ queryKey: ["files"] });
},
});
}
export function useDeleteOpenAIFile() {
const qc = useQueryClient();
return useMutation({
mutationFn: openai_files_delete,
onSuccess: () => {
qc.invalidateQueries({ queryKey: ["files"] });
},
});
}
export function useFileSignedUrl() {
return useMutation({
mutationFn: files_get_signed_url,
});
}