From e194b034fcccd5621525dd1a2208bc1faee4cb9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Fra=C3=9F?= Date: Mon, 7 Jul 2025 12:10:34 +0200 Subject: [PATCH] [task-193] [int] --- source/structure/r7.sindri.json | 143 +++++++++++++------------------- 1 file changed, 58 insertions(+), 85 deletions(-) diff --git a/source/structure/r7.sindri.json b/source/structure/r7.sindri.json index 85980aa..1ee206c 100644 --- a/source/structure/r7.sindri.json +++ b/source/structure/r7.sindri.json @@ -23,6 +23,27 @@ } ] }, + { + "name": "groups", + "key_field": { + "name": "id" + }, + "data_fields": [ + { + "name": "name", + "type": "string_short", + "nullable": false + } + ], + "constraints": [ + { + "kind": "unique", + "parameters": { + "fields": ["name"] + } + } + ] + }, { "name": "admins", "key_field": { @@ -59,29 +80,6 @@ } ] }, - { - "name": "name_indices", - "data_fields": [ - { - "name": "name_image", - "type": "string_medium", - "nullable": false - }, - { - "name": "index", - "type": "integer", - "nullable": false - } - ], - "constraints": [ - { - "kind": "unique", - "parameters": { - "fields": ["name_image"] - } - } - ] - }, { "name": "members", "key_field": { @@ -89,55 +87,20 @@ }, "data_fields": [ { - "name": "membership_number", + "name": "name", + "type": "string_short", + "nullable": false + }, + { + "name": "email_address", "type": "string_short", "nullable": true }, - { - "name": "name_real_value", - "type": "string_short", - "nullable": false - }, - { - "name": "name_real_index", - "type": "integer", - "nullable": false - }, - { - "name": "email_address_private", - "type": "string_short", - "nullable": true - }, - { - "name": "registered", - "type": "boolean", - "nullable": false - }, { "name": "enabled", "type": "boolean", "nullable": false }, - { - "name": "email_use_veiled_address", - "type": "boolean", - "nullable": false - }, - { - "name": "email_use_nominal_address", - "type": "boolean", - "nullable": false - }, - { - "name": "email_redirect_to_private_address", - "type": "boolean", - "nullable": false - }, - { - "name": "email_allow_sending", - "type": "boolean", - "nullable": false - }, { "name": "password_image", "type": "string_medium", @@ -158,7 +121,7 @@ { "kind": "unique", "parameters": { - "fields": ["name_real_value","name_real_index"] + "fields": ["name"] } } ] @@ -172,8 +135,8 @@ "nullable": false }, { - "name": "group_name", - "type": "string_medium", + "name": "group_id", + "type": "integer", "nullable": false }, { @@ -193,16 +156,26 @@ } } }, + { + "kind": "foreign_key", + "parameters": { + "fields": ["group_id"], + "reference": { + "name": "groups", + "fields": ["id"] + } + } + }, { "kind": "unique", "parameters": { - "fields": ["member_id","group_name"] + "fields": ["member_id","group_id"] } } ] }, { - "name": "invites", + "name": "invitations", "key_field": { "name": "id" }, @@ -217,16 +190,6 @@ "type": "integer", "nullable": true }, - { - "name": "membership_number_changeable", - "type": "boolean", - "nullable": false - }, - { - "name": "membership_number_value", - "type": "string_short", - "nullable": true - }, { "name": "name_changeable", "type": "boolean", @@ -263,15 +226,15 @@ ] }, { - "name": "invite_groups", + "name": "invitation_groups", "data_fields": [ { - "name": "invite_id", + "name": "invitation_id", "type": "integer", "nullable": false }, { - "name": "group_name", + "name": "group_id", "type": "string_medium", "nullable": false }, @@ -285,9 +248,19 @@ { "kind": "foreign_key", "parameters": { - "fields": ["invite_id"], + "fields": ["invitation_id"], "reference": { - "name": "invites", + "name": "invitations", + "fields": ["id"] + } + } + }, + { + "kind": "foreign_key", + "parameters": { + "fields": ["group_id"], + "reference": { + "name": "groups", "fields": ["id"] } } @@ -295,7 +268,7 @@ { "kind": "unique", "parameters": { - "fields": ["invite_id","group_name"] + "fields": ["invitation_id","group_id"] } } ]