diff --git a/surfsense_web/app/dashboard/[search_space_id]/documents/(manage)/page.tsx b/surfsense_web/app/dashboard/[search_space_id]/documents/(manage)/page.tsx index d52b8fcf9..539e71344 100644 --- a/surfsense_web/app/dashboard/[search_space_id]/documents/(manage)/page.tsx +++ b/surfsense_web/app/dashboard/[search_space_id]/documents/(manage)/page.tsx @@ -6,7 +6,7 @@ import { useTranslations } from "next-intl"; import { useCallback, useEffect, useId, useMemo, useState } from "react"; import { toast } from "sonner"; import { useQuery } from "@tanstack/react-query"; -import { useAtomValue, useSetAtom } from "jotai"; +import { useAtomValue } from "jotai"; import { documentsApiService } from "@/lib/apis/documents-api.service"; import { cacheKeys } from "@/lib/query-client/cache-keys"; import { documentTypeCountsAtom } from "@/atoms/documents/document-query.atoms"; @@ -15,7 +15,7 @@ import { deleteDocumentMutationAtom } from "@/atoms/documents/document-mutation. import { DocumentsFilters } from "./components/DocumentsFilters"; import { DocumentsTableShell, type SortKey } from "./components/DocumentsTableShell"; import { PaginationControls } from "./components/PaginationControls"; -import type { ColumnVisibility, Document } from "./components/types"; +import type { ColumnVisibility } from "./components/types"; import { DocumentTypeEnum } from "@/contracts/types/document.types"; function useDebounced(value: T, delay = 250) { @@ -48,9 +48,7 @@ export default function DocumentsTable() { const [sortDesc, setSortDesc] = useState(false); const [selectedIds, setSelectedIds] = useState>(new Set()); const {data: typeCounts} = useAtomValue(documentTypeCountsAtom) ; - - // Set up the delete mutation - const deleteDocumentMutation = useSetAtom(deleteDocumentMutationAtom); + const {mutateAsync : deleteDocumentMutation} = useAtomValue(deleteDocumentMutationAtom); // Build query parameters for fetching documents const queryParams = useMemo( @@ -138,7 +136,7 @@ export default function DocumentsTable() { const deleteDocument = useCallback( async (id: number) => { try { - await deleteDocumentMutation([{ id }]); + await deleteDocumentMutation({ id }); return true; } catch (error) { console.error("Failed to delete document:", error); @@ -158,7 +156,7 @@ export default function DocumentsTable() { const results = await Promise.all( Array.from(selectedIds).map(async (id) => { try { - await deleteDocumentMutation([{ id }]); + await deleteDocumentMutation({ id }); return true; } catch { return false; diff --git a/surfsense_web/components/chat/DocumentsDataTable.tsx b/surfsense_web/components/chat/DocumentsDataTable.tsx index 671479da3..53cee8299 100644 --- a/surfsense_web/components/chat/DocumentsDataTable.tsx +++ b/surfsense_web/components/chat/DocumentsDataTable.tsx @@ -32,10 +32,9 @@ import { TableRow, } from "@/components/ui/table"; import { getConnectorIcon } from "@/contracts/enums/connectorIcons"; -import { type Document, type DocumentType } from "@/hooks/use-documents"; import { documentsApiService } from "@/lib/apis/documents-api.service"; import { cacheKeys } from "@/lib/query-client/cache-keys"; -import { DocumentTypeEnum } from "@/contracts/types/document.types"; +import { Document, DocumentTypeEnum } from "@/contracts/types/document.types"; import { useAtomValue } from "jotai"; import { documentTypeCountsAtom } from "@/atoms/documents/document-query.atoms"; @@ -110,8 +109,8 @@ const columns: ColumnDef[] = [ cell: ({ row }) => { const type = row.getValue("document_type") as DocumentType; return ( -
- {getConnectorIcon(type)} +
+ {getConnectorIcon(String(type))}
); }, diff --git a/surfsense_web/contracts/types/document.types.ts b/surfsense_web/contracts/types/document.types.ts index 941ed5052..ae755f5f3 100644 --- a/surfsense_web/contracts/types/document.types.ts +++ b/surfsense_web/contracts/types/document.types.ts @@ -161,6 +161,7 @@ export const deleteDocumentResponse = z.object({ message: z.literal("Document deleted successfully"), }); +export type Document = z.infer export type GetDocumentsRequest = z.infer; export type GetDocumentsResponse = z.infer; export type GetDocumentRequest = z.infer;