Remove asset/document hydration pipeline and introduce client-side cache updates for correspondents, tags, and search results
This commit is contained in:
@@ -23,11 +23,6 @@ type DocumentLink = {
|
||||
expiresAt?: number;
|
||||
};
|
||||
|
||||
interface AssetManagerLike {
|
||||
hydrateDetail: (payload: unknown) => { document?: DocumentLike } | null;
|
||||
hydrateDocument: (payload: unknown) => DocumentLike | null;
|
||||
}
|
||||
|
||||
interface ApiClient {
|
||||
get: <T = unknown>(path: string) => Promise<{ data: T }>;
|
||||
}
|
||||
@@ -44,7 +39,6 @@ interface UseDocumentPreviewArgs {
|
||||
ingest: (docs: unknown[]) => { canonical: DocumentLike[]; changed: boolean };
|
||||
};
|
||||
selectedFolder?: FolderId | null;
|
||||
assetManager: AssetManagerLike;
|
||||
api: ApiClient;
|
||||
resolveApiPath?: (path: string) => string;
|
||||
notifyApiError: (error: unknown, message: string) => void;
|
||||
@@ -72,7 +66,6 @@ const useDocumentPreview = ({
|
||||
routeDocumentId,
|
||||
documentsManager,
|
||||
selectedFolder,
|
||||
assetManager: _assetManager,
|
||||
api,
|
||||
resolveApiPath,
|
||||
notifyApiError,
|
||||
|
||||
@@ -45,6 +45,7 @@ interface UseDocumentsSearchResult {
|
||||
clearFilters: () => void;
|
||||
handleSearchChange: (value: string) => void;
|
||||
handleSearchSubmit: () => void;
|
||||
refetchSearchResults: () => void;
|
||||
documentsFilterValue: {
|
||||
query: string;
|
||||
searchResultIds: Identifier[] | null;
|
||||
@@ -82,6 +83,7 @@ const useDocumentsSearch = ({
|
||||
const [activeCorrespondentFilters, setActiveCorrespondentFilters] = useState<Identifier[]>([]);
|
||||
const [searchResultIds, setSearchResultIds] = useState<Identifier[] | null>(null);
|
||||
const [searchLoading, setSearchLoading] = useState<boolean>(false);
|
||||
const [searchTrigger, setSearchTrigger] = useState<number>(0);
|
||||
|
||||
const toggleTagFilter = useCallback((tagId: Identifier) => {
|
||||
if (!tagId) return;
|
||||
@@ -171,6 +173,10 @@ const useDocumentsSearch = ({
|
||||
],
|
||||
);
|
||||
|
||||
const refetchSearchResults = useCallback(() => {
|
||||
setSearchTrigger(Date.now());
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
if (!token) return undefined;
|
||||
|
||||
@@ -269,6 +275,7 @@ const useDocumentsSearch = ({
|
||||
notifyApiError,
|
||||
setLoading,
|
||||
documentsManager,
|
||||
searchTrigger,
|
||||
]);
|
||||
|
||||
return {
|
||||
@@ -288,6 +295,7 @@ const useDocumentsSearch = ({
|
||||
clearFilters,
|
||||
handleSearchChange,
|
||||
handleSearchSubmit,
|
||||
refetchSearchResults,
|
||||
documentsFilterValue,
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user