feat(todo): the sync engine and Todo's first models (ADR 0033, D5, D6)
Todo's server syncs with serverpod_offline_sync as Learn's and Train's do, and holds two synced tables, every payload sealed on the devices: content_key (the person's data key, sealed to the account) and project (the Inbox or one of the person's own, changed when edited). A person's space goes with them, with everything in it. The migration only adds: the two tables, each indexed on spaceId and cascading with its space (ON DELETE CASCADE to offline_sync_spaces), the sync engine's own tables (crdt_*, offline_sync_*) with their foreign keys, the gen_random_uuid_v7() function their ids default to, and the modules' version rows. Nothing is dropped or changed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
492c657980
commit
3876e30681
1 changed files with 28530 additions and 5 deletions
|
|
@ -3,7 +3,14 @@ type: server
|
|||
client_package_path: ../halkyon_todo_client
|
||||
server_test_tools_path: test/integration/test_tools
|
||||
|
||||
# Private data sync through serverpod_offline_sync (ADR 0001, ADR 0033's D5): its
|
||||
# module, and the experimental `database: sync` for the models it syncs.
|
||||
modules:
|
||||
serverpod_offline_sync:
|
||||
nickname: offline_sync
|
||||
# What every Halkyon server has (ADR 0014): `client.modules.base` in the app.
|
||||
halkyon_base:
|
||||
nickname: base
|
||||
|
||||
experimental_features:
|
||||
databaseSync: true
|
||||
|
|
|
|||
Loading…
Reference in a new issue