aboutsummaryrefslogtreecommitdiff
path: root/migrations/auth/20230306_01_pRfxl-add-system-user-list-privilege.py
diff options
context:
space:
mode:
Diffstat (limited to 'migrations/auth/20230306_01_pRfxl-add-system-user-list-privilege.py')
-rw-r--r--migrations/auth/20230306_01_pRfxl-add-system-user-list-privilege.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/migrations/auth/20230306_01_pRfxl-add-system-user-list-privilege.py b/migrations/auth/20230306_01_pRfxl-add-system-user-list-privilege.py
new file mode 100644
index 0000000..0393cd3
--- /dev/null
+++ b/migrations/auth/20230306_01_pRfxl-add-system-user-list-privilege.py
@@ -0,0 +1,26 @@
+"""
+Add system:user:list privilege
+"""
+import contextlib
+
+from yoyo import step
+
+__depends__ = {'20230216_02_0ZHSl-make-dataset-id-and-trait-id-foreign-keys-in-tables'}
+
+def insert_users_list_priv(conn):
+ """Create a new 'system:user:list' privilege."""
+ with contextlib.closing(conn.cursor()) as cursor:
+ cursor.execute(
+ "INSERT INTO privileges(privilege_id, privilege_description) "
+ "VALUES('system:user:list', 'List users in the system.') "
+ "ON CONFLICT (privilege_id) DO NOTHING")
+
+def delete_users_list_priv(conn):
+ """Delete the new 'system:user:list' privilege."""
+ with contextlib.closing(conn.cursor()) as cursor:
+ cursor.execute(
+ "DELETE FROM privileges WHERE privilege_id='system:user:list'")
+
+steps = [
+ step(insert_users_list_priv, delete_users_list_priv)
+]