2024-09-12 00:02:55 +02:00
|
|
|
{
|
|
|
|
"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": "users",
|
|
|
|
"key_field": {
|
|
|
|
"name": "id"
|
|
|
|
},
|
|
|
|
"data_fields": [
|
2024-09-12 16:36:22 +02:00
|
|
|
{
|
|
|
|
"name": "name",
|
|
|
|
"type": "string_medium",
|
|
|
|
"nullable": false
|
|
|
|
}
|
2024-09-12 00:02:55 +02:00
|
|
|
],
|
|
|
|
"constraints": [
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
2024-09-12 16:36:22 +02:00
|
|
|
"name": "local_resources",
|
2024-09-12 00:02:55 +02:00
|
|
|
"key_field": {
|
|
|
|
"name": "id"
|
|
|
|
},
|
|
|
|
"data_fields": [
|
2024-09-12 16:36:22 +02:00
|
|
|
],
|
|
|
|
"constraints": [
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "local_resource_events",
|
|
|
|
"key_field": {
|
|
|
|
"name": "id"
|
|
|
|
},
|
|
|
|
"data_fields": [
|
|
|
|
{
|
|
|
|
"name": "local_resource_id",
|
|
|
|
"type": "integer",
|
|
|
|
"nullable": false
|
|
|
|
},
|
2024-09-12 00:02:55 +02:00
|
|
|
{
|
|
|
|
"name": "name",
|
|
|
|
"type": "string_medium",
|
|
|
|
"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
|
|
|
|
}
|
|
|
|
],
|
2024-09-12 16:36:22 +02:00
|
|
|
"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"
|
|
|
|
}
|
|
|
|
],
|
2024-09-12 00:02:55 +02:00
|
|
|
"constraints": [
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "calendars",
|
|
|
|
"key_field": {
|
|
|
|
"name": "id"
|
|
|
|
},
|
|
|
|
"data_fields": [
|
|
|
|
{
|
|
|
|
"name": "name",
|
|
|
|
"type": "string_medium",
|
|
|
|
"nullable": false
|
|
|
|
},
|
|
|
|
{
|
2024-09-12 16:36:22 +02:00
|
|
|
"name": "public",
|
2024-09-12 00:02:55 +02:00
|
|
|
"type": "boolean",
|
|
|
|
"nullable": false
|
|
|
|
},
|
|
|
|
{
|
2024-09-12 16:36:22 +02:00
|
|
|
"name": "resource_id",
|
|
|
|
"type": "integer",
|
|
|
|
"nullable": false
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"constraints": [
|
|
|
|
{
|
|
|
|
"kind": "foreign_key",
|
|
|
|
"parameters": {
|
|
|
|
"fields": ["resource_id"],
|
|
|
|
"reference": {
|
|
|
|
"name": "resources",
|
|
|
|
"fields": ["id"]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "calendar_members",
|
|
|
|
"key_field": {
|
|
|
|
"name": "id"
|
|
|
|
},
|
|
|
|
"data_fields": [
|
|
|
|
{
|
|
|
|
"name": "calendar_id",
|
|
|
|
"type": "integer",
|
2024-09-12 00:02:55 +02:00
|
|
|
"nullable": false
|
|
|
|
},
|
|
|
|
{
|
2024-09-12 16:36:22 +02:00
|
|
|
"name": "user_id",
|
|
|
|
"type": "integer",
|
2024-09-12 00:02:55 +02:00
|
|
|
"nullable": false
|
2024-09-12 16:36:22 +02:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "role",
|
|
|
|
"type": "string_medium",
|
|
|
|
"nullable": false,
|
|
|
|
"description": "»admin« | »editor« | »viewer«"
|
2024-09-12 00:02:55 +02:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"constraints": [
|
2024-09-12 16:36:22 +02:00
|
|
|
{
|
|
|
|
"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"]
|
|
|
|
}
|
|
|
|
}
|
2024-09-12 00:02:55 +02:00
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|