quivr/frontend/lib/api/brain/useBrainApi.ts

47 lines
1.5 KiB
TypeScript
Raw Normal View History

import { useAxios } from "@/lib/hooks";
import {
addBrainSubscriptions,
createBrain,
CreateBrainInput,
deleteBrain,
getBrain,
getBrainDocuments,
getBrains,
getBrainUsers,
getDefaultBrain,
setAsDefaultBrain,
Subscription,
updateBrainAccess,
} from "./brain";
import { SubscriptionUpdatableProperties } from "./types";
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
export const useBrainApi = () => {
const { axiosInstance } = useAxios();
return {
getBrainDocuments: async (brainId: string) =>
getBrainDocuments(brainId, axiosInstance),
createBrain: async (brain: CreateBrainInput) =>
createBrain(brain, axiosInstance),
deleteBrain: async (id: string) => deleteBrain(id, axiosInstance),
getDefaultBrain: async () => getDefaultBrain(axiosInstance),
getBrains: async () => getBrains(axiosInstance),
getBrain: async (id: string) => getBrain(id, axiosInstance),
addBrainSubscriptions: async (
brainId: string,
subscriptions: Subscription[]
) => addBrainSubscriptions(brainId, subscriptions, axiosInstance),
getBrainUsers: async (brainId: string) =>
getBrainUsers(brainId, axiosInstance),
updateBrainAccess: async (
brainId: string,
userEmail: string,
subscription: SubscriptionUpdatableProperties
) => updateBrainAccess(brainId, userEmail, subscription, axiosInstance),
setAsDefaultBrain: async (brainId: string) =>
setAsDefaultBrain(brainId, axiosInstance),
};
};