diff options
author | zsloan | 2025-06-09 19:02:23 +0000 |
---|---|---|
committer | zsloan | 2025-06-09 20:04:14 +0000 |
commit | d2492d4da6707be0764b6faf80c55a7e06449e13 (patch) | |
tree | 112f24752b2f79b7e4981f367db45289080a8347 /migrations/auth/20250609_01_LB60X-add-batch-edit-privileges.py | |
parent | f7b54e1f8d24aeb13d1afcc1a232d48636f94ef1 (diff) | |
download | gn-auth-d2492d4da6707be0764b6faf80c55a7e06449e13.tar.gz |
Add migrations for admin UI and batch edit privileges/roles
Diffstat (limited to 'migrations/auth/20250609_01_LB60X-add-batch-edit-privileges.py')
-rw-r--r-- | migrations/auth/20250609_01_LB60X-add-batch-edit-privileges.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/migrations/auth/20250609_01_LB60X-add-batch-edit-privileges.py b/migrations/auth/20250609_01_LB60X-add-batch-edit-privileges.py new file mode 100644 index 0000000..73a4880 --- /dev/null +++ b/migrations/auth/20250609_01_LB60X-add-batch-edit-privileges.py @@ -0,0 +1,49 @@ +""" +Add Batch Edit privileges +""" + +import contextlib + +from yoyo import step + +__depends__ = {'20250328_01_72EFk-add-admin-ui-privilege-to-system-administrator-role'} + +def add_batch_edit_privilege_and_role(conn): + with contextlib.closing(conn.cursor()) as cursor: + # Create batch edit privilege + cursor.execute( + "INSERT INTO privileges (privilege_id, privilege_description) " + "VALUES(?, ?)", + ("system:data:batch-edit", "Batch Edit")) + + # Create batch editor role + cursor.execute( + "INSERT INTO roles (role_id, role_name, user_editable) " + "VALUES(?, ?, ?)", + ("0f391910-5225-476a-bb8d-9c0adc9d81cc", "Batch Editors", 0)) + + # Link role/privilege + cursor.execute( + "INSERT INTO role_privileges (role_id, privilege_id) " + "VALUES(?, ?)", + ("0f391910-5225-476a-bb8d-9c0adc9d81cc", "system:data:batch-edit") + ) + +def remove_batch_edit_privilege_and_role(conn): + with contextlib.closing(conn.cursor()) as cursor: + # Remove batch edit role/privilege link + cursor.execute( + "DELETE FROM role_privileges WHERE privilege_id='system:data:batch-edit'") + + # Remove Batch Editor role + cursor.execute( + "DELETE FROM roles WHERE role_id='0f391910-5225-476a-bb8d-9c0adc9d81cc'") + + # Remove Batch Edit privilege + cursor.execute( + "DELETE FROM privileges WHERE privilege_id='system:data:batch-edit'") + + +steps = [ + step(add_batch_edit_privilege_and_role, remove_batch_edit_privilege_and_role) +] |