From ce41f2a3eec8382e0a05fab7c981582e626bd15c Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Wed, 13 May 2026 13:59:20 -0400 Subject: [PATCH] feat(versions): include pin_kind/pin_label in backup export+restore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Both export paths emit pin_kind and pin_label per note_version row. Restore reads them via .get() so backups predating the schema still import cleanly (defaults to None → rolling). --- src/fabledassistant/services/backup.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/fabledassistant/services/backup.py b/src/fabledassistant/services/backup.py index 4f9c88b..94ce7c8 100644 --- a/src/fabledassistant/services/backup.py +++ b/src/fabledassistant/services/backup.py @@ -150,6 +150,8 @@ async def export_full_backup() -> dict: "title": nv.title, "body": nv.body, "tags": nv.tags or [], + "pin_kind": nv.pin_kind, + "pin_label": nv.pin_label, "created_at": nv.created_at.isoformat(), } for nv in note_versions @@ -314,6 +316,8 @@ async def export_user_backup(user_id: int) -> dict: "title": nv.title, "body": nv.body, "tags": nv.tags or [], + "pin_kind": nv.pin_kind, + "pin_label": nv.pin_label, "created_at": nv.created_at.isoformat(), } for nv in note_versions @@ -605,6 +609,8 @@ async def _restore_v2(data: dict) -> dict: title=nv_data.get("title", ""), body=nv_data.get("body", ""), tags=nv_data.get("tags", []), + pin_kind=nv_data.get("pin_kind"), + pin_label=nv_data.get("pin_label"), created_at=_dt(nv_data.get("created_at")), ) session.add(nv)