mirror of
https://gitlab.com/davical-project/davical.git
synced 2026-03-15 08:20:12 +00:00
Database changes which actually work, for the moment.
This commit is contained in:
parent
3cefbf9894
commit
899337a679
@ -304,11 +304,40 @@ CREATE INDEX sync_processing_index ON sync_changes( collection_id, dav_id, sync_
|
||||
|
||||
CREATE TABLE access_ticket (
|
||||
ticket_id TEXT PRIMARY KEY,
|
||||
is_collection BOOLEAN,
|
||||
is_public BOOLEAN,
|
||||
privileges BIT(24),
|
||||
target_id INT8,
|
||||
displayname TEXT,
|
||||
target_collection_id INT8 NOT NULL REFERENCES collection(collection_id) ON UPDATE CASCADE ON DELETE CASCADE,
|
||||
target_resource_id INT8 REFERENCES caldav_data(dav_id) ON UPDATE CASCADE ON DELETE CASCADE,
|
||||
dav_displayname TEXT,
|
||||
expires TIMESTAMP
|
||||
);
|
||||
|
||||
|
||||
-- At this point we only support binding collections
|
||||
CREATE TABLE dav_binding (
|
||||
bind_id INT8 DEFAULT nextval('dav_id_seq') PRIMARY KEY,
|
||||
target_ticket_id TEXT REFERENCES access_ticket(ticket_id) ON UPDATE CASCADE ON DELETE CASCADE,
|
||||
target_collection_id INT8 REFERENCES collection(collection_id) ON UPDATE CASCADE ON DELETE CASCADE,
|
||||
dav_owner_id INT8 NOT NULL REFERENCES principal(principal_id) ON UPDATE CASCADE ON DELETE CASCADE,
|
||||
parent_container TEXT,
|
||||
dav_name TEXT,
|
||||
dav_displayname TEXT
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE collection_mashup (
|
||||
mashup_id SERIAL PRIMARY KEY,
|
||||
dav_owner_id INT8 NOT NULL REFERENCES principal(principal_id) ON UPDATE CASCADE ON DELETE CASCADE,
|
||||
parent_container TEXT,
|
||||
dav_name TEXT,
|
||||
dav_displayname TEXT
|
||||
);
|
||||
|
||||
CREATE TABLE mashup_member (
|
||||
mashup_id INT8 NOT NULL REFERENCES collection_mashup(mashup_id) ON UPDATE CASCADE ON DELETE CASCADE,
|
||||
target_ticket_id TEXT REFERENCES access_ticket(ticket_id) ON UPDATE CASCADE ON DELETE CASCADE,
|
||||
target_collection_id INT8 REFERENCES collection(collection_id) ON UPDATE CASCADE ON DELETE CASCADE,
|
||||
member_colour TEXT
|
||||
);
|
||||
|
||||
SELECT new_db_revision(1,2,8, 'Août' );
|
||||
|
||||
@ -1,21 +1,51 @@
|
||||
|
||||
-- This database update adds support for the draft webdav-sync specification
|
||||
-- as well as some initial support for addressbook collections which will
|
||||
-- be needed to support carddav.
|
||||
-- This database update adds support for tickets to be handed out to grant
|
||||
-- specific access to a collection or individual resource, as read-only or
|
||||
-- read-write. A table is also added to manage WebDAV binding, in line
|
||||
-- with http://tools.ietf.org/html/draft-ietf-webdav-bind.
|
||||
|
||||
BEGIN;
|
||||
SELECT check_db_revision(1,2,7);
|
||||
|
||||
CREATE TABLE access_ticket (
|
||||
ticket_id TEXT PRIMARY KEY,
|
||||
is_collection BOOLEAN,
|
||||
is_public BOOLEAN,
|
||||
privileges BIT(24),
|
||||
target_id INT8,
|
||||
displayname TEXT,
|
||||
target_collection_id INT8 NOT NULL REFERENCES collection(collection_id) ON UPDATE CASCADE ON DELETE CASCADE,
|
||||
target_resource_id INT8 REFERENCES caldav_data(dav_id) ON UPDATE CASCADE ON DELETE CASCADE,
|
||||
dav_displayname TEXT,
|
||||
expires TIMESTAMP
|
||||
);
|
||||
|
||||
|
||||
-- At this point we only support binding collections
|
||||
CREATE TABLE dav_binding (
|
||||
bind_id INT8 DEFAULT nextval('dav_id_seq') PRIMARY KEY,
|
||||
target_ticket_id TEXT REFERENCES access_ticket(ticket_id) ON UPDATE CASCADE ON DELETE CASCADE,
|
||||
target_collection_id INT8 REFERENCES collection(collection_id) ON UPDATE CASCADE ON DELETE CASCADE,
|
||||
dav_owner_id INT8 NOT NULL REFERENCES principal(principal_id) ON UPDATE CASCADE ON DELETE CASCADE,
|
||||
parent_container TEXT,
|
||||
dav_name TEXT,
|
||||
dav_displayname TEXT
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE collection_mashup (
|
||||
mashup_id SERIAL PRIMARY KEY,
|
||||
dav_owner_id INT8 NOT NULL REFERENCES principal(principal_id) ON UPDATE CASCADE ON DELETE CASCADE,
|
||||
parent_container TEXT,
|
||||
dav_name TEXT,
|
||||
dav_displayname TEXT
|
||||
);
|
||||
|
||||
CREATE TABLE mashup_member (
|
||||
mashup_id INT8 NOT NULL REFERENCES collection_mashup(mashup_id) ON UPDATE CASCADE ON DELETE CASCADE,
|
||||
target_ticket_id TEXT REFERENCES access_ticket(ticket_id) ON UPDATE CASCADE ON DELETE CASCADE,
|
||||
target_collection_id INT8 REFERENCES collection(collection_id) ON UPDATE CASCADE ON DELETE CASCADE,
|
||||
member_colour TEXT
|
||||
);
|
||||
|
||||
|
||||
SELECT new_db_revision(1,2,8, 'Août' );
|
||||
|
||||
COMMIT;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user