diff options
author | ubq323 <ubq323> | 2021-07-07 23:23:25 +0000 |
---|---|---|
committer | ubq323 <ubq323> | 2021-07-07 23:23:25 +0000 |
commit | 13ef3cb6d3f25bcf4d3413b69cccc6f3117effd4 (patch) | |
tree | c9288d1da0cb8e4f534ed6e8fc16adb11b39cbfe | |
parent | 4bb33e0c18b45ae0cc0f87438c8e0432cf6250c1 (diff) |
role permissions table
-rw-r--r-- | apioforum/db.py | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/apioforum/db.py b/apioforum/db.py index 7dd635e..10b2c24 100644 --- a/apioforum/db.py +++ b/apioforum/db.py @@ -117,7 +117,32 @@ CREATE VIEW most_recent_posts AS CREATE VIEW number_of_posts AS SELECT thread, count(*) AS num_replies FROM posts GROUP BY thread; """, - +# 0 = inherit, 1 = allow, -1 = deny +""" +CREATE TABLE roles ( + id INTEGER PRIMARY KEY, + name TEXT NOT NULL, + forum INTEGER NOT NULL REFERENCES forums(id), + + p_create_threads INT NOT NULL DEFAULT 0, + p_reply_threads INT NOT NULL DEFAULT 0, + p_view_threads INT NOT NULL DEFAULT 0, + p_manage_threads INT NOT NULL DEFAULT 0, + p_vote INT NOT NULL DEFAULT 0, + p_create_polls INT NOT NULL DEFAULT 0, + p_approve INT NOT NULL DEFAULT 0, + p_create_subforums INT NOT NULL DEFAULT 0, + +); + +INSERT INTO roles (name,forum) SELECT 'approved',id FROM forums; +INSERT INTO roles (name,forum) SELECT 'other',id FROM forums; + +CREATE TRIGGER default_roles AFTER INSERT ON forums BEGIN + INSERT INTO roles (role,forum) VALUES ('approved',new.id); + INSERT INTO roles (role,forum) VALUES ('other',new.id); +END; +""", ] def init_db(): |