feat(versions): include pin_kind/pin_label in backup export+restore

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).
This commit is contained in:
2026-05-13 13:59:20 -04:00
parent b1226d4e16
commit ce41f2a3ee
+6
View File
@@ -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)