aboutsummaryrefslogtreecommitdiff
path: root/sql/updates
diff options
context:
space:
mode:
authorSpp <spp@jorge.gr>2013-09-10 14:57:01 +0200
committerSpp <spp@jorge.gr>2013-09-10 14:57:01 +0200
commitabbc6b2760a0f8117761e303c999f375c9ab4317 (patch)
tree8ef2a5c7644eee5088b1cbba746fc6940b17c281 /sql/updates
parent7183a355d2d894f2444559f837709f615f1a5b5a (diff)
Core/RBAC: Move server commands to RBAC (using individual permissions)
Diffstat (limited to 'sql/updates')
-rw-r--r--sql/updates/auth/2013_09_10_10_auth_misc.sql46
-rw-r--r--sql/updates/world/2013_09_10_11_world_command.sql16
-rw-r--r--sql/updates/world/2013_09_10_12_world_command.sql24
3 files changed, 78 insertions, 8 deletions
diff --git a/sql/updates/auth/2013_09_10_10_auth_misc.sql b/sql/updates/auth/2013_09_10_10_auth_misc.sql
new file mode 100644
index 00000000000..a0587f75bf4
--- /dev/null
+++ b/sql/updates/auth/2013_09_10_10_auth_misc.sql
@@ -0,0 +1,46 @@
+/* cs_server.cpp */
+
+SET @id = 718;
+
+-- Add new permissions
+DELETE FROM `rbac_permissions` WHERE `id` BETWEEN @id AND @id+18;
+INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
+(@id+0, 'server'),
+(@id+1, 'server corpses'),
+(@id+2, 'server exit'),
+(@id+3, 'server idlerestart'),
+(@id+4, 'server idlerestart cancel'),
+(@id+5, 'server idleshutdown'),
+(@id+6, 'server idleshutdown cancel'),
+(@id+7, 'server info'),
+(@id+8, 'server plimit'),
+(@id+9, 'server restart'),
+(@id+10, 'server restart cancel'),
+(@id+11, 'server set'),
+(@id+12, 'server set closed'),
+(@id+13, 'server set difftime'),
+(@id+14, 'server set loglevel'),
+(@id+15, 'server set motd'),
+(@id+16, 'server shutdown'),
+(@id+17, 'server shutdown cancel'),
+(@id+18, 'server motd');
+
+-- Add permissions to "corresponding Commands Role"
+DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN @id AND @id+18;
+INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES
+(4, @id+0),
+(4, @id+1),
+(4, @id+3),
+(4, @id+4),
+(4, @id+5),
+(4, @id+6),
+(4, @id+7),
+(4, @id+8),
+(4, @id+9),
+(4, @id+10),
+(4, @id+11),
+(4, @id+12),
+(4, @id+15),
+(4, @id+16),
+(4, @id+17),
+(4, @id+18);
diff --git a/sql/updates/world/2013_09_10_11_world_command.sql b/sql/updates/world/2013_09_10_11_world_command.sql
index b6e1ca651c2..3a0dc18e804 100644
--- a/sql/updates/world/2013_09_10_11_world_command.sql
+++ b/sql/updates/world/2013_09_10_11_world_command.sql
@@ -3,11 +3,11 @@
SET @id = 710;
-- Update command table with new RBAC permissions
-UPDATE `command` SET `permission` = @id+0 WHERE `name` = 'reload';
-UPDATE `command` SET `permission` = @id+1 WHERE `name` = 'reload achievements';
-UPDATE `command` SET `permission` = @id+2 WHERE `name` = 'reload honor';
-UPDATE `command` SET `permission` = @id+3 WHERE `name` = 'reload level';
-UPDATE `command` SET `permission` = @id+4 WHERE `name` = 'reload spells';
-UPDATE `command` SET `permission` = @id+5 WHERE `name` = 'reload stats';
-UPDATE `command` SET `permission` = @id+6 WHERE `name` = 'reload talents';
-UPDATE `command` SET `permission` = @id+7 WHERE `name` = 'reload all';
+UPDATE `command` SET `permission` = @id+0 WHERE `name` = 'reset';
+UPDATE `command` SET `permission` = @id+1 WHERE `name` = 'reset achievements';
+UPDATE `command` SET `permission` = @id+2 WHERE `name` = 'reset honor';
+UPDATE `command` SET `permission` = @id+3 WHERE `name` = 'reset level';
+UPDATE `command` SET `permission` = @id+4 WHERE `name` = 'reset spells';
+UPDATE `command` SET `permission` = @id+5 WHERE `name` = 'reset stats';
+UPDATE `command` SET `permission` = @id+6 WHERE `name` = 'reset talents';
+UPDATE `command` SET `permission` = @id+7 WHERE `name` = 'reset all';
diff --git a/sql/updates/world/2013_09_10_12_world_command.sql b/sql/updates/world/2013_09_10_12_world_command.sql
new file mode 100644
index 00000000000..58542e5a10b
--- /dev/null
+++ b/sql/updates/world/2013_09_10_12_world_command.sql
@@ -0,0 +1,24 @@
+/* cs_server.cpp */
+
+SET @id = 718;
+
+-- Update command table with new RBAC permissions
+UPDATE `command` SET `permission` = @id+0 WHERE `name` = 'server';
+UPDATE `command` SET `permission` = @id+1 WHERE `name` = 'server corpses';
+UPDATE `command` SET `permission` = @id+2 WHERE `name` = 'server exit';
+UPDATE `command` SET `permission` = @id+3 WHERE `name` = 'server idlerestart';
+UPDATE `command` SET `permission` = @id+4 WHERE `name` = 'server idlerestart cancel';
+UPDATE `command` SET `permission` = @id+5 WHERE `name` = 'server idleshutdown';
+UPDATE `command` SET `permission` = @id+6 WHERE `name` = 'server idleshutdown cancel';
+UPDATE `command` SET `permission` = @id+7 WHERE `name` = 'server info';
+UPDATE `command` SET `permission` = @id+8 WHERE `name` = 'server plimit';
+UPDATE `command` SET `permission` = @id+9 WHERE `name` = 'server restart';
+UPDATE `command` SET `permission` = @id+10 WHERE `name` = 'server restart cancel';
+UPDATE `command` SET `permission` = @id+11 WHERE `name` = 'server set';
+UPDATE `command` SET `permission` = @id+12 WHERE `name` = 'server set closed';
+UPDATE `command` SET `permission` = @id+13 WHERE `name` = 'server set difftime';
+UPDATE `command` SET `permission` = @id+14 WHERE `name` = 'server set loglevel';
+UPDATE `command` SET `permission` = @id+15 WHERE `name` = 'server set motd';
+UPDATE `command` SET `permission` = @id+16 WHERE `name` = 'server shutdown';
+UPDATE `command` SET `permission` = @id+17 WHERE `name` = 'server shutdown cancel';
+UPDATE `command` SET `permission` = @id+18 WHERE `name` = 'server motd';