Fix frontmatter dict conversion in documents router

main
Clawd 3 weeks ago
parent 09cfd6584b
commit 8b7a93d58f

@ -52,12 +52,22 @@ async def related_documents(document_id: str, limit: int = 5):
def _row_to_doc(row: asyncpg.Record) -> DocumentResponse: def _row_to_doc(row: asyncpg.Record) -> DocumentResponse:
# Handle frontmatter - asyncpg returns JSONB as dict directly
fm = row['frontmatter']
if fm is None:
frontmatter = {}
elif isinstance(fm, dict):
frontmatter = fm
else:
# Fallback for unexpected types
frontmatter = {}
return DocumentResponse( return DocumentResponse(
id=str(row['id']), id=str(row['id']),
path=row['path'], path=row['path'],
title=row['title'] or '', title=row['title'] or '',
content=row['content'], content=row['content'],
frontmatter=dict(row['frontmatter'] or {}), frontmatter=frontmatter,
tags=list(row['tags'] or []), tags=list(row['tags'] or []),
aliases=list(row['aliases'] or []), aliases=list(row['aliases'] or []),
word_count=row['word_count'], word_count=row['word_count'],

Loading…
Cancel
Save

Powered by TurnKey Linux.