datamodel/source/structure/r2.sindri.json

285 lines
4.6 KiB
JSON
Raw Normal View History

2024-10-10 23:00:01 +02:00
{
"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": "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_public",
"type": "boolean",
"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"]
}
}
]
}
]
}