mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-22 10:05:32 +01:00
Core/Commands: Move lookup commands to RBAC (using individual permissions)
This commit is contained in:
43
sql/updates/auth/2013_09_02_14_auth_misc.sql
Normal file
43
sql/updates/auth/2013_09_02_14_auth_misc.sql
Normal file
@@ -0,0 +1,43 @@
|
||||
/* cs_lookup.cpp */
|
||||
|
||||
SET @id = 442;
|
||||
|
||||
-- Add new permissions
|
||||
DELETE FROM `rbac_permissions` WHERE `id` BETWEEN @id AND @id+15;
|
||||
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
|
||||
(@id+0, 'lookup'),
|
||||
(@id+1, 'lookup area'),
|
||||
(@id+2, 'lookup creature'),
|
||||
(@id+3, 'lookup event'),
|
||||
(@id+4, 'lookup faction'),
|
||||
(@id+5, 'lookup item'),
|
||||
(@id+6, 'lookup itemset'),
|
||||
(@id+7, 'lookup object'),
|
||||
(@id+8, 'lookup quest'),
|
||||
(@id+9, 'lookup player'),
|
||||
(@id+10, 'lookup skill'),
|
||||
(@id+11, 'lookup spell'),
|
||||
(@id+12, 'lookup taxinode'),
|
||||
(@id+13, 'lookup tele'),
|
||||
(@id+14, 'lookup title'),
|
||||
(@id+15, 'lookup map');
|
||||
|
||||
-- Add permissions to "corresponding Commands Role"
|
||||
DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN @id AND @id+15;
|
||||
INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES
|
||||
(4, @id+0),
|
||||
(4, @id+1),
|
||||
(4, @id+2),
|
||||
(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+13),
|
||||
(4, @id+14),
|
||||
(4, @id+15);
|
||||
21
sql/updates/world/2013_09_02_15_world_command.sql
Normal file
21
sql/updates/world/2013_09_02_15_world_command.sql
Normal file
@@ -0,0 +1,21 @@
|
||||
/* cs_lookup.cpp */
|
||||
|
||||
SET @id = 436;
|
||||
|
||||
-- Update command table with new RBAC permissions
|
||||
UPDATE `command` SET `permission` = @id+0 WHERE `name` = 'lookup';
|
||||
UPDATE `command` SET `permission` = @id+1 WHERE `name` = 'lookup area';
|
||||
UPDATE `command` SET `permission` = @id+2 WHERE `name` = 'lookup creature';
|
||||
UPDATE `command` SET `permission` = @id+3 WHERE `name` = 'lookup event';
|
||||
UPDATE `command` SET `permission` = @id+4 WHERE `name` = 'lookup faction';
|
||||
UPDATE `command` SET `permission` = @id+5 WHERE `name` = 'lookup item';
|
||||
UPDATE `command` SET `permission` = @id+6 WHERE `name` = 'lookup itemset';
|
||||
UPDATE `command` SET `permission` = @id+7 WHERE `name` = 'lookup object';
|
||||
UPDATE `command` SET `permission` = @id+8 WHERE `name` = 'lookup quest';
|
||||
UPDATE `command` SET `permission` = @id+9 WHERE `name` = 'lookup player';
|
||||
UPDATE `command` SET `permission` = @id+10 WHERE `name` = 'lookup skill';
|
||||
UPDATE `command` SET `permission` = @id+11 WHERE `name` = 'lookup spell';
|
||||
UPDATE `command` SET `permission` = @id+12 WHERE `name` = 'lookup taxinode';
|
||||
UPDATE `command` SET `permission` = @id+13 WHERE `name` = 'lookup tele';
|
||||
UPDATE `command` SET `permission` = @id+14 WHERE `name` = 'lookup title';
|
||||
UPDATE `command` SET `permission` = @id+15 WHERE `name` = 'lookup map');
|
||||
@@ -318,6 +318,22 @@ enum RBACPermissions
|
||||
RBAC_PERM_COMMAND_LIST_OBJECT = 439,
|
||||
RBAC_PERM_COMMAND_LIST_AURAS = 440,
|
||||
RBAC_PERM_COMMAND_LIST_MAIL = 441,
|
||||
RBAC_PERM_COMMAND_LOOKUP = 442,
|
||||
RBAC_PERM_COMMAND_LOOKUP_AREA = 443,
|
||||
RBAC_PERM_COMMAND_LOOKUP_CREATURE = 444,
|
||||
RBAC_PERM_COMMAND_LOOKUP_EVENT = 445,
|
||||
RBAC_PERM_COMMAND_LOOKUP_FACTION = 446,
|
||||
RBAC_PERM_COMMAND_LOOKUP_ITEM = 447,
|
||||
RBAC_PERM_COMMAND_LOOKUP_ITEMSET = 448,
|
||||
RBAC_PERM_COMMAND_LOOKUP_OBJECT = 449,
|
||||
RBAC_PERM_COMMAND_LOOKUP_QUEST = 450,
|
||||
RBAC_PERM_COMMAND_LOOKUP_PLAYER = 451,
|
||||
RBAC_PERM_COMMAND_LOOKUP_SKILL = 452,
|
||||
RBAC_PERM_COMMAND_LOOKUP_SPELL = 453,
|
||||
RBAC_PERM_COMMAND_LOOKUP_TAXINODE = 454,
|
||||
RBAC_PERM_COMMAND_LOOKUP_TELE = 455,
|
||||
RBAC_PERM_COMMAND_LOOKUP_TITLE = 456,
|
||||
RBAC_PERM_COMMAND_LOOKUP_MAP = 457,
|
||||
|
||||
// custom permissions 1000+
|
||||
RBAC_PERM_MAX
|
||||
|
||||
@@ -41,43 +41,43 @@ public:
|
||||
{
|
||||
static ChatCommand lookupPlayerCommandTable[] =
|
||||
{
|
||||
{ "ip", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleLookupPlayerIpCommand, "", NULL },
|
||||
{ "account", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleLookupPlayerAccountCommand, "", NULL },
|
||||
{ "email", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleLookupPlayerEmailCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "ip", RBAC_PERM_COMMAND_LOOKUP_PLAYER_IP, true, &HandleLookupPlayerIpCommand, "", NULL },
|
||||
{ "account", RBAC_PERM_COMMAND_LOOKUP_PLAYER_ACCOUNT, true, &HandleLookupPlayerAccountCommand, "", NULL },
|
||||
{ "email", RBAC_PERM_COMMAND_LOOKUP_PLAYER_EMAIL, true, &HandleLookupPlayerEmailCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
|
||||
static ChatCommand lookupSpellCommandTable[] =
|
||||
{
|
||||
{ "id", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleLookupSpellIdCommand, "", NULL },
|
||||
{ "", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleLookupSpellCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "id", RBAC_PERM_COMMAND_LOOKUP_SPELL_ID, true, &HandleLookupSpellIdCommand, "", NULL },
|
||||
{ "", RBAC_PERM_COMMAND_LOOKUP_SPELL, true, &HandleLookupSpellCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
|
||||
static ChatCommand lookupCommandTable[] =
|
||||
{
|
||||
{ "area", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleLookupAreaCommand, "", NULL },
|
||||
{ "creature", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleLookupCreatureCommand, "", NULL },
|
||||
{ "event", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleLookupEventCommand, "", NULL },
|
||||
{ "faction", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleLookupFactionCommand, "", NULL },
|
||||
{ "item", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleLookupItemCommand, "", NULL },
|
||||
{ "itemset", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleLookupItemSetCommand, "", NULL },
|
||||
{ "object", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleLookupObjectCommand, "", NULL },
|
||||
{ "quest", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleLookupQuestCommand, "", NULL },
|
||||
{ "player", RBAC_PERM_GAMEMASTER_COMMANDS, true, NULL, "", lookupPlayerCommandTable },
|
||||
{ "skill", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleLookupSkillCommand, "", NULL },
|
||||
{ "spell", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", lookupSpellCommandTable },
|
||||
{ "taxinode", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleLookupTaxiNodeCommand, "", NULL },
|
||||
{ "tele", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleLookupTeleCommand, "", NULL },
|
||||
{ "title", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleLookupTitleCommand, "", NULL },
|
||||
{ "map", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleLookupMapCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "area", RBAC_PERM_COMMAND_LOOKUP_AREA, true, &HandleLookupAreaCommand, "", NULL },
|
||||
{ "creature", RBAC_PERM_COMMAND_LOOKUP_CREATURE, true, &HandleLookupCreatureCommand, "", NULL },
|
||||
{ "event", RBAC_PERM_COMMAND_LOOKUP_EVENT, true, &HandleLookupEventCommand, "", NULL },
|
||||
{ "faction", RBAC_PERM_COMMAND_LOOKUP_FACTION, true, &HandleLookupFactionCommand, "", NULL },
|
||||
{ "item", RBAC_PERM_COMMAND_LOOKUP_ITEM, true, &HandleLookupItemCommand, "", NULL },
|
||||
{ "itemset", RBAC_PERM_COMMAND_LOOKUP_ITEMSET, true, &HandleLookupItemSetCommand, "", NULL },
|
||||
{ "object", RBAC_PERM_COMMAND_LOOKUP_OBJECT, true, &HandleLookupObjectCommand, "", NULL },
|
||||
{ "quest", RBAC_PERM_COMMAND_LOOKUP_QUEST, true, &HandleLookupQuestCommand, "", NULL },
|
||||
{ "player", RBAC_PERM_COMMAND_LOOKUP_PLAYER, true, NULL, "", lookupPlayerCommandTable },
|
||||
{ "skill", RBAC_PERM_COMMAND_LOOKUP_SKILL, true, &HandleLookupSkillCommand, "", NULL },
|
||||
{ "spell", RBAC_PERM_COMMAND_LOOKUP_SPELL, true, NULL, "", lookupSpellCommandTable },
|
||||
{ "taxinode", RBAC_PERM_COMMAND_LOOKUP_TAXINODE, true, &HandleLookupTaxiNodeCommand, "", NULL },
|
||||
{ "tele", RBAC_PERM_COMMAND_LOOKUP_TELE, true, &HandleLookupTeleCommand, "", NULL },
|
||||
{ "title", RBAC_PERM_COMMAND_LOOKUP_TITLE, true, &HandleLookupTitleCommand, "", NULL },
|
||||
{ "map", RBAC_PERM_COMMAND_LOOKUP_MAP, true, &HandleLookupMapCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
|
||||
static ChatCommand commandTable[] =
|
||||
{
|
||||
{ "lookup", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", lookupCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
{ "lookup", RBAC_PERM_COMMAND_LOOKUP, true, NULL, "", lookupCommandTable },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
return commandTable;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user