import apiClient from './client' import { NotebookResponse, CreateNotebookRequest, UpdateNotebookRequest, NotebookDeletePreview, NotebookDeleteResponse, } from '@/lib/types/api' export const notebooksApi = { list: async (params?: { archived?: boolean; order_by?: string }) => { const response = await apiClient.get('/notebooks', { params }) return response.data }, get: async (id: string) => { const response = await apiClient.get(`/notebooks/${id}`) return response.data }, create: async (data: CreateNotebookRequest) => { const response = await apiClient.post('/notebooks', data) return response.data }, update: async (id: string, data: UpdateNotebookRequest) => { const response = await apiClient.put(`/notebooks/${id}`, data) return response.data }, deletePreview: async (id: string) => { const response = await apiClient.get( `/notebooks/${id}/delete-preview` ) return response.data }, delete: async (id: string, deleteExclusiveSources: boolean = false) => { const response = await apiClient.delete(`/notebooks/${id}`, { params: { delete_exclusive_sources: deleteExclusiveSources }, }) return response.data }, addSource: async (notebookId: string, sourceId: string) => { const response = await apiClient.post(`/notebooks/${notebookId}/sources/${sourceId}`) return response.data }, removeSource: async (notebookId: string, sourceId: string) => { const response = await apiClient.delete(`/notebooks/${notebookId}/sources/${sourceId}`) return response.data }, }