--- /dev/null
+
+create table mod_remove_post (
+ id serial primary key,
+ mod_user_id int references user_ on update cascade on delete cascade not null,
+ post_id int references post on update cascade on delete cascade not null,
+ reason text,
+ removed boolean default true,
+ when_ timestamp not null default now()
+);
+
+create table mod_lock_post (
+ id serial primary key,
+ mod_user_id int references user_ on update cascade on delete cascade not null,
+ post_id int references post on update cascade on delete cascade not null,
+ when_ timestamp not null default now()
+);
+
+create table mod_remove_comment (
+ id serial primary key,
+ mod_user_id int references user_ on update cascade on delete cascade not null,
+ comment_id int references comment on update cascade on delete cascade not null,
+ reason text,
+ removed boolean default true,
+ when_ timestamp not null default now()
+);
+
+create table mod_remove_community (
+ id serial primary key,
+ mod_user_id int references user_ on update cascade on delete cascade not null,
+ community_id int references community on update cascade on delete cascade not null,
+ reason text,
+ removed boolean default true,
+ when_ timestamp not null default now()
+);
+
+-- TODO make sure you can't ban other mods
+create table mod_ban (
+ id serial primary key,
+ mod_user_id int references user_ on update cascade on delete cascade not null,
+ other_user_id int references user_ on update cascade on delete cascade not null,
+ reason text,
+ removed boolean default true,
+ expires timestamp,
+ when_ timestamp not null default now()
+);
+
+-- When removed is false that means kicked
+create table mod_add_mod (
+ id serial primary key,
+ mod_user_id int references user_ on update cascade on delete cascade not null,
+ other_user_id int references user_ on update cascade on delete cascade not null,
+ removed boolean default false,
+ when_ timestamp not null default now()
+)