aboutsummaryrefslogtreecommitdiffstats
path: root/db/schema.sql
diff options
context:
space:
mode:
authorHakim Cassimally <hakim@mysociety.org>2014-05-27 16:08:50 +0000
committerHakim Cassimally <hakim@mysociety.org>2014-08-13 15:11:29 +0000
commit382a782c16a998776176de37037dd029fab4e3fe (patch)
treec425b24e3ce2c396214fd463e0fc0bde21f792be /db/schema.sql
parent68a486f190aa5054b3bcf1be2a63ad0c7c6aef26 (diff)
Report moderation
- redaction marked with [...] - of report and comments - stores original data - uses a single form, on the report/_main view - requires additional permissions (user_body_permissions) - Hide report functionality - Moderation notification/contact form - Moderation writes to admin_log
Diffstat (limited to 'db/schema.sql')
-rw-r--r--db/schema.sql32
1 files changed, 31 insertions, 1 deletions
diff --git a/db/schema.sql b/db/schema.sql
index 6ddb7bae6..5bac02bce 100644
--- a/db/schema.sql
+++ b/db/schema.sql
@@ -450,5 +450,35 @@ create table admin_log (
),
object_id integer not null,
action text not null,
- whenedited timestamp not null default ms_current_timestamp()
+ whenedited timestamp not null default ms_current_timestamp(),
+ user_id int references users(id) null,
+ reason text not null default ''
);
+
+create table moderation_original_data (
+ id serial not null primary key,
+
+ -- Problem details
+ problem_id int references problem(id) ON DELETE CASCADE not null,
+ comment_id int references comment(id) ON DELETE CASCADE unique,
+
+ title text null,
+ detail text null, -- or text for comment
+ photo bytea,
+ anonymous bool not null,
+
+ -- Metadata
+ created timestamp not null default ms_current_timestamp()
+);
+
+create table user_body_permissions (
+ id serial not null primary key,
+ user_id int references users(id) not null,
+ body_id int references body(id) not null,
+ permission_type text not null check(
+ permission_type='moderate' or
+ -- for future expansion --
+ permission_type='admin'
+ ),
+ unique(user_id, body_id, permission_type)
+);