From f6e49ab47076767401b387236e044be49b925a25 Mon Sep 17 00:00:00 2001 From: Fenris Wolf Date: Thu, 10 Oct 2024 20:22:19 +0200 Subject: [PATCH] [int] --- source/structure/r2.sindri.json | 284 ++++++++++++++++++++++++++++++++ 1 file changed, 284 insertions(+) create mode 100644 source/structure/r2.sindri.json diff --git a/source/structure/r2.sindri.json b/source/structure/r2.sindri.json new file mode 100644 index 0000000..49ad4b0 --- /dev/null +++ b/source/structure/r2.sindri.json @@ -0,0 +1,284 @@ +{ + "domains": [ + { + "name": "sessions", + "data_fields": [ + { + "name": "key", + "type": "string_medium", + "nullable": false + }, + { + "name": "data", + "type": "string_long", + "nullable": false, + "description": "JSON" + } + ], + "constraints": [ + { + "kind": "unique", + "parameters": { + "fields": ["key"] + } + } + ] + }, + { + "name": "auth_internal", + "key_field": null, + "data_fields": [ + { + "name": "name", + "type": "string_short", + "nullable": false + }, + { + "name": "password_image", + "type": "string_medium", + "nullable": false + } + ], + "constraints": [ + { + "kind": "unique", + "parameters": { + "fields": ["name"] + } + } + ] + }, + { + "name": "users", + "key_field": { + "name": "id" + }, + "data_fields": [ + { + "name": "name", + "type": "string_short", + "nullable": false + }, + { + "name": "email_address", + "type": "string_medium", + "nullable": true + } + ], + "constraints": [ + { + "kind": "unique", + "parameters": { + "fields": ["name"] + } + } + ] + }, + { + "name": "local_resources", + "key_field": { + "name": "id" + }, + "data_fields": [ + { + "name": "_dummy", + "type": "integer", + "nullable": true + } + ], + "constraints": [ + ] + }, + { + "name": "local_resource_events", + "key_field": { + "name": "id" + }, + "data_fields": [ + { + "name": "local_resource_id", + "type": "integer", + "nullable": false + }, + { + "name": "name", + "type": "string_medium", + "nullable": false + }, + { + "name": "public", + "type": "boolean", + "nullable": false + }, + { + "name": "begin", + "type": "string_medium", + "nullable": false + }, + { + "name": "end", + "type": "string_medium", + "nullable": true + }, + { + "name": "location", + "type": "string_medium", + "nullable": true + }, + { + "name": "description", + "type": "string_long", + "nullable": true + } + ], + "constraints": [ + { + "kind": "foreign_key", + "parameters": { + "fields": ["local_resource_id"], + "reference": { + "name": "local_resources", + "fields": ["id"] + } + } + } + ] + }, + { + "name": "caldav_resources", + "key_field": { + "name": "id" + }, + "data_fields": [ + { + "name": "url", + "type": "string_medium", + "nullable": false + }, + { + "name": "read_only", + "type": "boolean", + "nullable": false + } + ], + "constraints": [ + ] + }, + { + "name": "resources", + "key_field": { + "name": "id" + }, + "data_fields": [ + { + "name": "kind", + "type": "string_short", + "nullable": false, + "description": "»local« | »caldav«" + }, + { + "name": "sub_id", + "type": "integer", + "nullable": false, + "description": "local_resources.id | caldav_resources.id" + } + ], + "constraints": [ + { + "kind": "unique", + "parameters": { + "fields": ["kind","sub_id"] + } + } + ] + }, + { + "name": "calendars", + "key_field": { + "name": "id" + }, + "data_fields": [ + { + "name": "name", + "type": "string_medium", + "nullable": false + }, + { + "name": "access_level_default", + "type": "integer", + "nullable": false, + "description": "0:none | 1:view | 2:edit | 3:admin" + }, + { + "name": "resource_id", + "type": "integer", + "nullable": false + } + ], + "constraints": [ + { + "kind": "foreign_key", + "parameters": { + "fields": ["resource_id"], + "reference": { + "name": "resources", + "fields": ["id"] + } + } + } + ] + }, + { + "name": "calendar_access_attributed", + "key_field": { + "name": "id" + }, + "data_fields": [ + { + "name": "calendar_id", + "type": "integer", + "nullable": false + }, + { + "name": "user_id", + "type": "integer", + "nullable": false + }, + { + "name": "level", + "type": "integer", + "nullable": false, + "description": "0:none | 1:view | 2:edit | 3:admin" + } + ], + "constraints": [ + { + "kind": "foreign_key", + "parameters": { + "fields": ["calendar_id"], + "reference": { + "name": "calendars", + "fields": ["id"] + } + } + }, + { + "kind": "foreign_key", + "parameters": { + "fields": ["user_id"], + "reference": { + "name": "users", + "fields": ["id"] + } + } + }, + { + "kind": "unique", + "parameters": { + "fields": ["calendar_id","user_id"] + } + } + ] + } + ] +}