Einladungs-System #3

Open
roydfalk wants to merge 6 commits from task-193 into main

View file

@ -0,0 +1,304 @@
{
"domains": [
{
"name": "sessions",
"data_fields": [
{
"name": "key",
"type": "string_medium",
"nullable": false
},
{
"name": "data",
"type": "string_long",
"nullable": false
}
],
"constraints": [
{
"kind": "unique",
"parameters": {
"fields": ["key"]
}
}
]
},
{
"name": "admins",
"key_field": {
"name": "id"
},
"data_fields": [
{
"name": "name",
"type": "string_short",
"nullable": false
},
{
"name": "email_address",
"type": "string_medium",
"nullable": true
},
{
"name": "password_image",
"type": "string_medium",
"nullable": false
},
{
"name": "password_fail_count",
"type": "integer",
"nullable": false
}
],
"constraints": [
{
"kind": "unique",
"parameters": {
"fields": ["name"]
}
}
]
},
{
"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": {
"name": "id"
},
"data_fields": [
{
"name": "membership_number",
"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",
"nullable": true
},
{
"name": "password_change_last_attempt",
"type": "integer",
"nullable": true
},
{
"name": "password_change_token",
"type": "string_medium",
"nullable": true
}
],
"constraints": [
{
"kind": "unique",
"parameters": {
"fields": ["name_real_value","name_real_index"]
}
}
]
},
{
"name": "member_groups",
"data_fields": [
{
"name": "member_id",
"type": "integer",
"nullable": false
},
{
"name": "group_name",
"type": "string_medium",
"nullable": false
},
{
"name": "_dummy",
"type": "boolean",
"nullable": true
}
],
"constraints": [
{
"kind": "foreign_key",
"parameters": {
"fields": ["member_id"],
"reference": {
"name": "members",
"fields": ["id"]
}
}
},
{
"kind": "unique",
"parameters": {
"fields": ["member_id","group_name"]
}
}
]
},
{
"name": "invites",
"key_field": {
"name": "id"
},
"data_fields": [
{
"name": "key",
"type": "string_short",
"nullable": false
},
{
"name": "expiry",
"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",
"nullable": false
},
{
"name": "name_value",
"type": "string_short",
"nullable": false
},
{
"name": "email_address_changeable",
"type": "boolean",
"nullable": false
},
{
"name": "email_address_value",
"type": "string_short",
"nullable": true
},
{
"name": "groups_changeable",
"type": "boolean",
"nullable": false
}
],
"constraints": [
{
"kind": "unique",
"parameters": {
"fields": ["key"]
}
}
]
},
{
"name": "invite_groups",
"data_fields": [
{
"name": "invite_id",
"type": "integer",
"nullable": false
},
{
"name": "group_name",
"type": "string_medium",
"nullable": false
},
{
"name": "_dummy",
"type": "boolean",
"nullable": true
}
],
"constraints": [
{
"kind": "foreign_key",
"parameters": {
"fields": ["invite_id"],
"reference": {
"name": "invites",
"fields": ["id"]
}
}
},
{
"kind": "unique",
"parameters": {
"fields": ["invite_id","group_name"]
}
}
]
}
]
}