fix: normalize search response for Docmost 0.25+ API change

Closes #1
Closes #8

Docmost changed the search API response format in v0.25.0:
- Before: response.data.data was a direct array
- After:  response.data.data is { items: [...], meta: {...} }

The old code assumed the array format and crashed with
"items.map is not a function" on Docmost 0.25+.

Fix normalizes both formats for backwards compatibility.
This commit is contained in:
2026-05-30 20:35:26 -06:00
parent 9be42aa0b4
commit 77201154d0

View File

@@ -283,8 +283,11 @@ class DocmostClient {
spaceId, spaceId,
}); });
// Filter search results (data is directly an array) // Normalize search response for Docmost 0.25+ compatibility
const items = response.data?.data || []; // Before 0.25: response.data.data was a direct array
// After 0.25: response.data.data is { items: [...], meta: {...} }
const data = response.data?.data;
const items = Array.isArray(data) ? data : (data?.items || []);
const filteredItems = items.map((item: any) => filterSearchResult(item)); const filteredItems = items.map((item: any) => filterSearchResult(item));
return { return {