Remove asset/document hydration pipeline and introduce client-side cache updates for correspondents, tags, and search results
This commit is contained in:
@@ -23,24 +23,14 @@ interface FolderContentsEntry {
|
||||
interface UseDocumentsOptions {
|
||||
setFolderContents: Dispatch<SetStateAction<Map<string, FolderContentsEntry>>>;
|
||||
fetchDocumentById?: (id: DocumentId) => Promise<DocumentLike | null>;
|
||||
hydrateDocument?: (payload: unknown) => DocumentLike | null;
|
||||
hydrateDocuments?: (payload: unknown[]) => DocumentLike[];
|
||||
extractDocument?: (payload: unknown) => DocumentLike | null;
|
||||
}
|
||||
|
||||
const useDocuments = ({
|
||||
setFolderContents,
|
||||
fetchDocumentById,
|
||||
hydrateDocument,
|
||||
hydrateDocuments,
|
||||
extractDocument,
|
||||
}: UseDocumentsOptions) => {
|
||||
const managerRef = useRef(
|
||||
new DocumentsManager<DocumentLike>(fetchDocumentById, {
|
||||
hydrateDocument,
|
||||
hydrateDocuments,
|
||||
extractDocument,
|
||||
}),
|
||||
new DocumentsManager<DocumentLike>(fetchDocumentById),
|
||||
);
|
||||
const [documents, setDocumentsState] = useState<DocumentLike[]>([]);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user