feat: enhance Obsidian plugin schema with HeadingRef class

This commit is contained in:
Anish Sarkar 2026-04-22 20:26:58 +05:30
parent 1d324f169f
commit 6eeaa2db4d
4 changed files with 38 additions and 3 deletions

View file

@ -0,0 +1,25 @@
from __future__ import annotations
from datetime import UTC, datetime
from app.schemas.obsidian_plugin import HeadingRef, NotePayload
from app.services.obsidian_plugin_indexer import _build_metadata
def test_build_metadata_serializes_headings_to_plain_json() -> None:
now = datetime.now(UTC)
payload = NotePayload(
vault_id="vault-1",
path="notes.md",
name="notes",
extension="md",
content="# Notes",
headings=[HeadingRef(heading="Notes", level=1)],
content_hash="abc123",
mtime=now,
ctime=now,
)
metadata = _build_metadata(payload, vault_name="My Vault", connector_id=42)
assert metadata["headings"] == [{"heading": "Notes", "level": 1}]