Compare commits

..

10 commits

Author SHA1 Message Date
fenris 74218e885e [mod] structure:r4 [add] migration:r3-r4:postgresql 2025-09-22 00:59:32 +02:00
fenris 85605fd33a [mod] readme 2025-09-10 13:29:11 +02:00
fenris 0f094c853f [task-192] [int] 2025-08-29 10:53:15 +00:00
fenris 30a13783cd [add] r4 2024-11-01 13:34:02 +01:00
fenris cc9ab1a6a2 [upd] sindri 2024-10-25 11:30:00 +02:00
fenris cada0f26b7 [add] r3 2024-10-14 19:05:59 +02:00
fenris e14c977aaa [int] 2024-10-10 23:00:01 +02:00
fenris 7bf2216905 [fix] 2024-09-26 10:34:17 +02:00
fenris 5429c11d05 [fix] 2024-09-25 15:27:25 +02:00
fenris 7fa88e6987 [int] 2024-09-25 14:51:00 +02:00
6 changed files with 2498 additions and 469 deletions

View file

@ -8,4 +8,5 @@
## Nutzung
- siehe `tools/build -h`
- Beispiel: `path=/tmp/zeitbild.sqlite && rm ${path} -f | tools/build -f sqlite | sqlite3 ${path}`

View file

@ -0,0 +1,49 @@
-- users
ALTER TABLE
"users"
ADD COLUMN
"dav_token" VARCHAR(255)
;
-- caldav_resources
ALTER TABLE
"caldav_resources"
RENAME TO
"ics_feed_resources"
;
ALTER TABLE
"ics_feed_resources"
DROP COLUMN
"read_only"
;
ALTER TABLE
"ics_feed_resources"
ADD COLUMN
"from_fucked_up_wordpress" BOOLEAN NOT NULL
;
COMMENT ON COLUMN
"resources"."kind"
IS
'»local« | »ics_feed«'
;
COMMENT ON COLUMN
"resources"."sub_id"
IS
'local_resources.id | ics_feed_resources.id'
;
-- _meta
UPDATE
"_meta"
SET
"revision" = 'r4'
;

View file

@ -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": "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"]
}
}
]
}
]
}

View file

@ -0,0 +1,289 @@
{
"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": "link",
"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"]
}
}
]
}
]
}

View file

@ -0,0 +1,294 @@
{
"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
},
{
"name": "dav_token",
"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": "link",
"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": "ics_feed_resources",
"key_field": {
"name": "id"
},
"data_fields": [
{
"name": "url",
"type": "string_medium",
"nullable": false
},
{
"name": "from_fucked_up_wordpress",
"type": "boolean",
"nullable": false
}
],
"constraints": [
]
},
{
"name": "resources",
"key_field": {
"name": "id"
},
"data_fields": [
{
"name": "kind",
"type": "string_short",
"nullable": false,
"description": "»local« | »ics_feed«"
},
{
"name": "sub_id",
"type": "integer",
"nullable": false,
"description": "local_resources.id | ics_feed_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"]
}
}
]
}
]
}

File diff suppressed because it is too large Load diff