aboutsummaryrefslogtreecommitdiffstats
path: root/db/schema.sql
diff options
context:
space:
mode:
authorMatthew Somerville <matthew-github@dracos.co.uk>2019-05-29 09:23:25 +0100
committerMatthew Somerville <matthew-github@dracos.co.uk>2019-05-29 09:23:25 +0100
commitf5b647053043afe0de18db327ea9ae4b6665daf2 (patch)
tree0a70171cd4975a4b1f45d42529922cb8f9b19b7b /db/schema.sql
parent0ed870721f4d257a71d929f73b6f4be80a5afe01 (diff)
parent4b88125da243aba9ad9754619c53cd5c50512c6d (diff)
Merge branch 'roles'
Diffstat (limited to 'db/schema.sql')
-rw-r--r--db/schema.sql16
1 files changed, 16 insertions, 0 deletions
diff --git a/db/schema.sql b/db/schema.sql
index 98005028c..93d73ab00 100644
--- a/db/schema.sql
+++ b/db/schema.sql
@@ -73,6 +73,22 @@ create unique index body_areas_body_id_area_id_idx on body_areas(body_id, area_i
ALTER TABLE users ADD CONSTRAINT users_from_body_fkey
FOREIGN KEY (from_body) REFERENCES body(id);
+-- roles table
+create table roles (
+ id serial not null primary key,
+ body_id integer not null references body(id) ON DELETE CASCADE,
+ name text,
+ permissions text ARRAY,
+ unique(body_id, name)
+);
+
+-- Record which role(s) each user holds
+create table user_roles (
+ id serial not null primary key,
+ role_id integer not null references roles(id) ON DELETE CASCADE,
+ user_id integer not null references users(id) ON DELETE CASCADE
+);
+
-- The contact for a category within a particular body
create table contacts (
id serial primary key,