mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-21 01:37:37 +01:00
Core/RBAC: Move quest commands to RBAC (using individual permissions)
This commit is contained in:
21
sql/updates/auth/2013_09_10_07_auth_misc.sql
Normal file
21
sql/updates/auth/2013_09_10_07_auth_misc.sql
Normal file
@@ -0,0 +1,21 @@
|
||||
/* cs_quest.cpp */
|
||||
|
||||
SET @id = 602;
|
||||
|
||||
-- Add new permissions
|
||||
DELETE FROM `rbac_permissions` WHERE `id` BETWEEN @id AND @id+4;
|
||||
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
|
||||
(@id+0, 'quest'),
|
||||
(@id+1, 'quest add'),
|
||||
(@id+2, 'quest complete'),
|
||||
(@id+3, 'quest remove'),
|
||||
(@id+4, 'quest reward');
|
||||
|
||||
-- Add permissions to "corresponding Commands Role"
|
||||
DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN @id AND @id+4;
|
||||
INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES
|
||||
(4, @id+0),
|
||||
(4, @id+1),
|
||||
(4, @id+2),
|
||||
(4, @id+3),
|
||||
(4, @id+4);
|
||||
10
sql/updates/world/2013_09_10_09_world_command.sql
Normal file
10
sql/updates/world/2013_09_10_09_world_command.sql
Normal file
@@ -0,0 +1,10 @@
|
||||
/* cs_npc.cpp */
|
||||
|
||||
SET @id = 602;
|
||||
|
||||
-- Update command table with new RBAC permissions
|
||||
UPDATE `command` SET `permission` = @id+0 WHERE `name` = 'quest';
|
||||
UPDATE `command` SET `permission` = @id+1 WHERE `name` = 'quest add';
|
||||
UPDATE `command` SET `permission` = @id+2 WHERE `name` = 'quest complete';
|
||||
UPDATE `command` SET `permission` = @id+3 WHERE `name` = 'quest remove';
|
||||
UPDATE `command` SET `permission` = @id+4 WHERE `name` = 'quest reward';
|
||||
@@ -501,6 +501,11 @@ enum RBACPermissions
|
||||
RBAC_PERM_COMMAND_NPC_WHISPER = 599,
|
||||
RBAC_PERM_COMMAND_NPC_YELL = 600,
|
||||
RBAC_PERM_COMMAND_NPC_TAME = 601,
|
||||
RBAC_PERM_COMMAND_QUEST = 602,
|
||||
RBAC_PERM_COMMAND_QUEST_ADD = 603,
|
||||
RBAC_PERM_COMMAND_QUEST_COMPLETE = 604,
|
||||
RBAC_PERM_COMMAND_QUEST_REMOVE = 605,
|
||||
RBAC_PERM_COMMAND_QUEST_REWARD = 606,
|
||||
|
||||
// custom permissions 1000+
|
||||
RBAC_PERM_MAX
|
||||
|
||||
@@ -37,16 +37,16 @@ public:
|
||||
{
|
||||
static ChatCommand questCommandTable[] =
|
||||
{
|
||||
{ "add", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleQuestAdd, "", NULL },
|
||||
{ "complete", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleQuestComplete, "", NULL },
|
||||
{ "remove", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleQuestRemove, "", NULL },
|
||||
{ "reward", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleQuestReward, "", NULL },
|
||||
{ NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL }
|
||||
{ "add", RBAC_PERM_COMMAND_QUEST_ADD, false, &HandleQuestAdd, "", NULL },
|
||||
{ "complete", RBAC_PERM_COMMAND_QUEST_COMPLETE, false, &HandleQuestComplete, "", NULL },
|
||||
{ "remove", RBAC_PERM_COMMAND_QUEST_REMOVE, false, &HandleQuestRemove, "", NULL },
|
||||
{ "reward", RBAC_PERM_COMMAND_QUEST_REWARD, false, &HandleQuestReward, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand commandTable[] =
|
||||
{
|
||||
{ "quest", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", questCommandTable },
|
||||
{ NULL, RBAC_PERM_PLAYER_COMMANDS, false, NULL, "", NULL }
|
||||
{ "quest", RBAC_PERM_COMMAND_QUEST, false, NULL, "", questCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
return commandTable;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user