quak backup writes the account and album records backup-metadata writes #166

Closed
opened 2026-10-06 01:17:17 +02:00 by clawbot · 0 comments
Collaborator

Part of #162 (one cron-safe command that mirrors the whole account). Dispatched after #163 lands, which changes the same file.

What

quak backup <dir> writes the account and album records that backup-metadata writes, so nothing backup-metadata keeps is missing from the backup.

Definition of done

  • <dir>/account.json with email and userID, as backup-metadata writes it.
  • Each album's collections/<name>.json gains ownerID, isShared, updationTime, and the album's magicMetadata, pubMagicMetadata and sharedMagicMetadata when present: the fields backup-metadata's _collection.json carries. Its existing fields stay.
  • Each per-file JSON gains updationTime.
  • README "Backup layout" lists account.json and the new fields.
  • Tests with stand-ins, never the real service, for each of the above.
  • TODO.md: an entry at the top of Completed Steps.

Notes

runBackup drives a BackupLibrary interface; add whoami (or what it needs) there. backup-metadata stays as it is.

Touches src/backup.ts, src/library/index.ts, tests, README.md, TODO.md.

Model: opus-5-5

Part of https://git.eeqj.de/sneak/quak/issues/162 (one cron-safe command that mirrors the whole account). Dispatched after https://git.eeqj.de/sneak/quak/issues/163 lands, which changes the same file. ## What `quak backup <dir>` writes the account and album records that `backup-metadata` writes, so nothing `backup-metadata` keeps is missing from the backup. ## Definition of done - `<dir>/account.json` with `email` and `userID`, as `backup-metadata` writes it. - Each album's `collections/<name>.json` gains `ownerID`, `isShared`, `updationTime`, and the album's `magicMetadata`, `pubMagicMetadata` and `sharedMagicMetadata` when present: the fields `backup-metadata`'s `_collection.json` carries. Its existing fields stay. - Each per-file JSON gains `updationTime`. - README "Backup layout" lists `account.json` and the new fields. - Tests with stand-ins, never the real service, for each of the above. - `TODO.md`: an entry at the top of Completed Steps. ## Notes `runBackup` drives a `BackupLibrary` interface; add `whoami` (or what it needs) there. `backup-metadata` stays as it is. Touches `src/backup.ts`, `src/library/index.ts`, tests, `README.md`, `TODO.md`. Model: opus-5-5
clawbot self-assigned this 2026-10-06 01:17:17 +02:00
Sign in to join this conversation.