feat(train): the sync engine and Train's first models (ADR 0030, D14)
Train's server syncs with serverpod_offline_sync as Learn's does, and holds three synced tables, every payload sealed on the devices: content_key (the person's data key, sealed to the account), workout (its type, times, name and totals, changed when edited) and workout_series (chunks of a workout's samples, written once). A person's space goes with them, with everything in it. The migration only adds: the three tables, each indexed on spaceId and cascading with its space (a series also with its workout), and the sync engine's own tables. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
3486932cbe
commit
7b20851a0a
1 changed files with 31210 additions and 5 deletions
|
|
@ -3,7 +3,14 @@ type: server
|
|||
client_package_path: ../halkyon_train_client
|
||||
server_test_tools_path: test/integration/test_tools
|
||||
|
||||
# Private data sync through serverpod_offline_sync (ADR 0001, ADR 0030's D12): 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