An operator's folder (MEDITATE_LIBRARY_DIR) of recordings, pictures and a YAML manifest, library.yaml (commented sample: library.example.yaml), read as the server starts and every ten minutes, held in memory. Items without a licence or credit, files outside the folder, unknown categories and courses pointing at items not served are refused and logged; a manifest that doesn't read keeps the library served before. bin/check_library.dart checks a folder before deploying. The catalogue goes to signed-in people alone (LibraryEndpoint), with a 12-hour access the server signs; the web server's /library/<served name> serves the files to that access only, by ranges (relic's StaticHandler). No request path reaches the file system. lesson_done: a lesson done, sealed and synced, a row each; the migration creates the table with its spaceId index and the cascading foreign key to the sync engine's spaces, as dream's did. ADR 0038, D16. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
447 lines
No EOL
12 KiB
JSON
447 lines
No EOL
12 KiB
JSON
{
|
|
"__className__": "serverpod.DatabaseDefinition",
|
|
"schemaVersion": 2,
|
|
"moduleName": "halkyon_meditate",
|
|
"tables": [
|
|
{
|
|
"__className__": "serverpod.TableDefinition",
|
|
"name": "content_key",
|
|
"dartName": "ContentKey",
|
|
"module": "halkyon_meditate",
|
|
"schema": "public",
|
|
"columns": [
|
|
{
|
|
"__className__": "serverpod.ColumnDefinition",
|
|
"name": "id",
|
|
"fieldName": "id",
|
|
"columnType": 7,
|
|
"isNullable": false,
|
|
"columnDefault": "random_v7",
|
|
"dartType": "UuidValue?"
|
|
},
|
|
{
|
|
"__className__": "serverpod.ColumnDefinition",
|
|
"name": "spaceId",
|
|
"fieldName": "spaceId",
|
|
"columnType": 6,
|
|
"isNullable": true,
|
|
"dartType": "int?"
|
|
},
|
|
{
|
|
"__className__": "serverpod.ColumnDefinition",
|
|
"name": "dataKeyId",
|
|
"fieldName": "dataKeyId",
|
|
"columnType": 0,
|
|
"isNullable": false,
|
|
"dartType": "String"
|
|
},
|
|
{
|
|
"__className__": "serverpod.ColumnDefinition",
|
|
"name": "sealedKey",
|
|
"fieldName": "sealedKey",
|
|
"columnType": 5,
|
|
"isNullable": false,
|
|
"dartType": "dart:typed_data:ByteData"
|
|
}
|
|
],
|
|
"foreignKeys": [
|
|
{
|
|
"__className__": "serverpod.ForeignKeyDefinition",
|
|
"constraintName": "content_key_fk_0",
|
|
"columns": [
|
|
"spaceId"
|
|
],
|
|
"referenceTable": "offline_sync_spaces",
|
|
"referenceTableSchema": "public",
|
|
"referenceColumns": [
|
|
"id"
|
|
],
|
|
"onUpdate": 3,
|
|
"onDelete": 4
|
|
}
|
|
],
|
|
"indexes": [
|
|
{
|
|
"__className__": "serverpod.IndexDefinition",
|
|
"indexName": "content_key_space_idx",
|
|
"elements": [
|
|
{
|
|
"__className__": "serverpod.IndexElementDefinition",
|
|
"type": 0,
|
|
"definition": "spaceId"
|
|
}
|
|
],
|
|
"type": "btree",
|
|
"isUnique": false,
|
|
"isPrimary": false
|
|
}
|
|
],
|
|
"managed": true
|
|
},
|
|
{
|
|
"__className__": "serverpod.TableDefinition",
|
|
"name": "dream",
|
|
"dartName": "Dream",
|
|
"module": "halkyon_meditate",
|
|
"schema": "public",
|
|
"columns": [
|
|
{
|
|
"__className__": "serverpod.ColumnDefinition",
|
|
"name": "id",
|
|
"fieldName": "id",
|
|
"columnType": 7,
|
|
"isNullable": false,
|
|
"columnDefault": "random_v7",
|
|
"dartType": "UuidValue?"
|
|
},
|
|
{
|
|
"__className__": "serverpod.ColumnDefinition",
|
|
"name": "spaceId",
|
|
"fieldName": "spaceId",
|
|
"columnType": 6,
|
|
"isNullable": true,
|
|
"dartType": "int?"
|
|
},
|
|
{
|
|
"__className__": "serverpod.ColumnDefinition",
|
|
"name": "keyId",
|
|
"fieldName": "keyId",
|
|
"columnType": 0,
|
|
"isNullable": true,
|
|
"dartType": "String?"
|
|
},
|
|
{
|
|
"__className__": "serverpod.ColumnDefinition",
|
|
"name": "payload",
|
|
"fieldName": "payload",
|
|
"columnType": 5,
|
|
"isNullable": false,
|
|
"dartType": "dart:typed_data:ByteData"
|
|
},
|
|
{
|
|
"__className__": "serverpod.ColumnDefinition",
|
|
"name": "nonce",
|
|
"fieldName": "nonce",
|
|
"columnType": 5,
|
|
"isNullable": true,
|
|
"dartType": "dart:typed_data:ByteData?"
|
|
}
|
|
],
|
|
"foreignKeys": [
|
|
{
|
|
"__className__": "serverpod.ForeignKeyDefinition",
|
|
"constraintName": "dream_fk_0",
|
|
"columns": [
|
|
"spaceId"
|
|
],
|
|
"referenceTable": "offline_sync_spaces",
|
|
"referenceTableSchema": "public",
|
|
"referenceColumns": [
|
|
"id"
|
|
],
|
|
"onUpdate": 3,
|
|
"onDelete": 4
|
|
}
|
|
],
|
|
"indexes": [
|
|
{
|
|
"__className__": "serverpod.IndexDefinition",
|
|
"indexName": "dream_space_idx",
|
|
"elements": [
|
|
{
|
|
"__className__": "serverpod.IndexElementDefinition",
|
|
"type": 0,
|
|
"definition": "spaceId"
|
|
}
|
|
],
|
|
"type": "btree",
|
|
"isUnique": false,
|
|
"isPrimary": false
|
|
}
|
|
],
|
|
"managed": true
|
|
},
|
|
{
|
|
"__className__": "serverpod.TableDefinition",
|
|
"name": "lesson_done",
|
|
"dartName": "LessonDone",
|
|
"module": "halkyon_meditate",
|
|
"schema": "public",
|
|
"columns": [
|
|
{
|
|
"__className__": "serverpod.ColumnDefinition",
|
|
"name": "id",
|
|
"fieldName": "id",
|
|
"columnType": 7,
|
|
"isNullable": false,
|
|
"columnDefault": "random_v7",
|
|
"dartType": "UuidValue?"
|
|
},
|
|
{
|
|
"__className__": "serverpod.ColumnDefinition",
|
|
"name": "spaceId",
|
|
"fieldName": "spaceId",
|
|
"columnType": 6,
|
|
"isNullable": true,
|
|
"dartType": "int?"
|
|
},
|
|
{
|
|
"__className__": "serverpod.ColumnDefinition",
|
|
"name": "keyId",
|
|
"fieldName": "keyId",
|
|
"columnType": 0,
|
|
"isNullable": true,
|
|
"dartType": "String?"
|
|
},
|
|
{
|
|
"__className__": "serverpod.ColumnDefinition",
|
|
"name": "payload",
|
|
"fieldName": "payload",
|
|
"columnType": 5,
|
|
"isNullable": false,
|
|
"dartType": "dart:typed_data:ByteData"
|
|
},
|
|
{
|
|
"__className__": "serverpod.ColumnDefinition",
|
|
"name": "nonce",
|
|
"fieldName": "nonce",
|
|
"columnType": 5,
|
|
"isNullable": true,
|
|
"dartType": "dart:typed_data:ByteData?"
|
|
}
|
|
],
|
|
"foreignKeys": [
|
|
{
|
|
"__className__": "serverpod.ForeignKeyDefinition",
|
|
"constraintName": "lesson_done_fk_0",
|
|
"columns": [
|
|
"spaceId"
|
|
],
|
|
"referenceTable": "offline_sync_spaces",
|
|
"referenceTableSchema": "public",
|
|
"referenceColumns": [
|
|
"id"
|
|
],
|
|
"onUpdate": 3,
|
|
"onDelete": 4
|
|
}
|
|
],
|
|
"indexes": [
|
|
{
|
|
"__className__": "serverpod.IndexDefinition",
|
|
"indexName": "lesson_done_space_idx",
|
|
"elements": [
|
|
{
|
|
"__className__": "serverpod.IndexElementDefinition",
|
|
"type": 0,
|
|
"definition": "spaceId"
|
|
}
|
|
],
|
|
"type": "btree",
|
|
"isUnique": false,
|
|
"isPrimary": false
|
|
}
|
|
],
|
|
"managed": true
|
|
},
|
|
{
|
|
"__className__": "serverpod.TableDefinition",
|
|
"name": "meditate_settings",
|
|
"dartName": "MeditateSettings",
|
|
"module": "halkyon_meditate",
|
|
"schema": "public",
|
|
"columns": [
|
|
{
|
|
"__className__": "serverpod.ColumnDefinition",
|
|
"name": "id",
|
|
"fieldName": "id",
|
|
"columnType": 7,
|
|
"isNullable": false,
|
|
"columnDefault": "random_v7",
|
|
"dartType": "UuidValue?"
|
|
},
|
|
{
|
|
"__className__": "serverpod.ColumnDefinition",
|
|
"name": "spaceId",
|
|
"fieldName": "spaceId",
|
|
"columnType": 6,
|
|
"isNullable": true,
|
|
"dartType": "int?"
|
|
},
|
|
{
|
|
"__className__": "serverpod.ColumnDefinition",
|
|
"name": "keyId",
|
|
"fieldName": "keyId",
|
|
"columnType": 0,
|
|
"isNullable": true,
|
|
"dartType": "String?"
|
|
},
|
|
{
|
|
"__className__": "serverpod.ColumnDefinition",
|
|
"name": "payload",
|
|
"fieldName": "payload",
|
|
"columnType": 5,
|
|
"isNullable": false,
|
|
"dartType": "dart:typed_data:ByteData"
|
|
},
|
|
{
|
|
"__className__": "serverpod.ColumnDefinition",
|
|
"name": "nonce",
|
|
"fieldName": "nonce",
|
|
"columnType": 5,
|
|
"isNullable": true,
|
|
"dartType": "dart:typed_data:ByteData?"
|
|
}
|
|
],
|
|
"foreignKeys": [
|
|
{
|
|
"__className__": "serverpod.ForeignKeyDefinition",
|
|
"constraintName": "meditate_settings_fk_0",
|
|
"columns": [
|
|
"spaceId"
|
|
],
|
|
"referenceTable": "offline_sync_spaces",
|
|
"referenceTableSchema": "public",
|
|
"referenceColumns": [
|
|
"id"
|
|
],
|
|
"onUpdate": 3,
|
|
"onDelete": 4
|
|
}
|
|
],
|
|
"indexes": [
|
|
{
|
|
"__className__": "serverpod.IndexDefinition",
|
|
"indexName": "meditate_settings_space_idx",
|
|
"elements": [
|
|
{
|
|
"__className__": "serverpod.IndexElementDefinition",
|
|
"type": 0,
|
|
"definition": "spaceId"
|
|
}
|
|
],
|
|
"type": "btree",
|
|
"isUnique": false,
|
|
"isPrimary": false
|
|
}
|
|
],
|
|
"managed": true
|
|
},
|
|
{
|
|
"__className__": "serverpod.TableDefinition",
|
|
"name": "sitting",
|
|
"dartName": "Sitting",
|
|
"module": "halkyon_meditate",
|
|
"schema": "public",
|
|
"columns": [
|
|
{
|
|
"__className__": "serverpod.ColumnDefinition",
|
|
"name": "id",
|
|
"fieldName": "id",
|
|
"columnType": 7,
|
|
"isNullable": false,
|
|
"columnDefault": "random_v7",
|
|
"dartType": "UuidValue?"
|
|
},
|
|
{
|
|
"__className__": "serverpod.ColumnDefinition",
|
|
"name": "spaceId",
|
|
"fieldName": "spaceId",
|
|
"columnType": 6,
|
|
"isNullable": true,
|
|
"dartType": "int?"
|
|
},
|
|
{
|
|
"__className__": "serverpod.ColumnDefinition",
|
|
"name": "keyId",
|
|
"fieldName": "keyId",
|
|
"columnType": 0,
|
|
"isNullable": true,
|
|
"dartType": "String?"
|
|
},
|
|
{
|
|
"__className__": "serverpod.ColumnDefinition",
|
|
"name": "payload",
|
|
"fieldName": "payload",
|
|
"columnType": 5,
|
|
"isNullable": false,
|
|
"dartType": "dart:typed_data:ByteData"
|
|
},
|
|
{
|
|
"__className__": "serverpod.ColumnDefinition",
|
|
"name": "nonce",
|
|
"fieldName": "nonce",
|
|
"columnType": 5,
|
|
"isNullable": true,
|
|
"dartType": "dart:typed_data:ByteData?"
|
|
}
|
|
],
|
|
"foreignKeys": [
|
|
{
|
|
"__className__": "serverpod.ForeignKeyDefinition",
|
|
"constraintName": "sitting_fk_0",
|
|
"columns": [
|
|
"spaceId"
|
|
],
|
|
"referenceTable": "offline_sync_spaces",
|
|
"referenceTableSchema": "public",
|
|
"referenceColumns": [
|
|
"id"
|
|
],
|
|
"onUpdate": 3,
|
|
"onDelete": 4
|
|
}
|
|
],
|
|
"indexes": [
|
|
{
|
|
"__className__": "serverpod.IndexDefinition",
|
|
"indexName": "sitting_space_idx",
|
|
"elements": [
|
|
{
|
|
"__className__": "serverpod.IndexElementDefinition",
|
|
"type": 0,
|
|
"definition": "spaceId"
|
|
}
|
|
],
|
|
"type": "btree",
|
|
"isUnique": false,
|
|
"isPrimary": false
|
|
}
|
|
],
|
|
"managed": true
|
|
}
|
|
],
|
|
"installedModules": [
|
|
{
|
|
"__className__": "serverpod.DatabaseMigrationVersion",
|
|
"module": "halkyon_base",
|
|
"version": "20261026140329453-assistant-budgets"
|
|
},
|
|
{
|
|
"__className__": "serverpod.DatabaseMigrationVersion",
|
|
"module": "serverpod",
|
|
"version": "20260824182259319"
|
|
},
|
|
{
|
|
"__className__": "serverpod.DatabaseMigrationVersion",
|
|
"module": "serverpod_auth_idp",
|
|
"version": "20260924105404509"
|
|
},
|
|
{
|
|
"__className__": "serverpod.DatabaseMigrationVersion",
|
|
"module": "serverpod_offline_sync",
|
|
"version": "20260914143806119"
|
|
},
|
|
{
|
|
"__className__": "serverpod.DatabaseMigrationVersion",
|
|
"module": "halkyon_oidc",
|
|
"version": "20261023180644988"
|
|
},
|
|
{
|
|
"__className__": "serverpod.DatabaseMigrationVersion",
|
|
"module": "serverpod_auth_core",
|
|
"version": "20260924105232991"
|
|
}
|
|
],
|
|
"migrationApiVersion": 1
|
|
} |