X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=sql%2Fschema.sql;h=c3967a45391b9230a60f436d8508e064ef7ebdfc;hb=7f7b44cb967ae9b99ddcbf3879c92d448570d49c;hp=c374ed7afded8040937724aa7ab8869d5e272466;hpb=7a7e1a4494852d8710b74737c8278adf2869cfec;p=motion.git diff --git a/sql/schema.sql b/sql/schema.sql index c374ed7..c3967a4 100644 --- a/sql/schema.sql +++ b/sql/schema.sql @@ -1,5 +1,8 @@ DROP TABLE IF EXISTS voter; -CREATE TABLE voter (id serial NOT NULL, email VARCHAR(255) NOT NULL, PRIMARY KEY(id)); +CREATE TABLE voter (id serial NOT NULL, + email VARCHAR(255) NOT NULL, + host VARCHAR(500) NOT NULL, + PRIMARY KEY(id)); DROP TABLE IF EXISTS motion; @@ -7,6 +10,7 @@ CREATE TABLE motion (id serial NOT NULL, identifier VARCHAR(20) NOT NULL, name VARCHAR(250) NOT NULL, type VARCHAR(250) NOT NULL, + host VARCHAR(500) NOT NULL, content text NOT NULL, posed timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, posed_by int NOT NULL, @@ -24,8 +28,32 @@ CREATE TABLE vote (motion_id INTEGER NOT NULL, voter_id INTEGER NOT NULL, result vote_type NOT NULL, entered timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + proxy_id INTEGER NOT NULL, PRIMARY KEY(motion_id, voter_id)); +DROP TABLE IF EXISTS proxy; +CREATE TABLE proxy (id serial NOT NULL, + voter_id INTEGER NOT NULL, + proxy_id INTEGER NOT NULL, + granted timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + granted_by int NOT NULL, + revoked timestamp NULL DEFAULT NULL, + revoked_by int NULL DEFAULT NULL, + PRIMARY KEY(id)); +CREATE INDEX proxy_voter ON proxy (voter_id); +CREATE INDEX proxy_proxy ON proxy (proxy_id); + +DROP TABLE IF EXISTS adminlog; +DROP TYPE IF EXISTS "admin_log"; +CREATE TYPE "admin_log" AS ENUM ('motionmasking', 'proxygranted', 'proxyrevoked', 'proxyrevokedall'); +CREATE TABLE adminlog (id serial NOT NULL, + user_id INTEGER NOT NULL, + action admin_log NOT NULL, + comment text NULL, + action_user_id INTEGER NOT NULL, + actiontime timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY(id)); + DROP TABLE IF EXISTS schema_version; CREATE TABLE schema_version (version INTEGER NOT NULL); -INSERT INTO schema_version(version) VALUES(2); +INSERT INTO schema_version(version) VALUES(7);