Core/RBAC: Simplification part 1. Nobody needs different permissions for each type of .go command.

Port From (https://github.com/TrinityCore/TrinityCore/commit/f1ecb976ec9db8569f8c7601a05282c9d29778b4)
This commit is contained in:
hondacrx
2021-11-02 17:05:18 -04:00
parent 6e5159bde3
commit e7421549c3
5 changed files with 37 additions and 29 deletions
+15 -15
View File
@@ -283,15 +283,15 @@ namespace Framework.Constants
CommandGmList = 375,
CommandGmVisible = 376,
CommandGo = 377,
CommandGoCreature = 378,
CommandGoGraveyard = 379,
CommandGoGrid = 380,
CommandGoObject = 381,
CommandGoTaxinode = 382,
CommandGoTicket = 383, // Deprecated Since Draenor Don'T Reuse
CommandGoTrigger = 384,
CommandGoXyz = 385,
CommandGoZonexy = 386,
// = 378, // DEPRECATED: DON'T REUSE
// = 379, // DEPRECATED: DON'T REUSE
// = 380, // DEPRECATED: DON'T REUSE
// = 381, // DEPRECATED: DON'T REUSE
// = 382, // DEPRECATED: DON'T REUSE
// = 383, // DEPRECATED: DON'T REUSE
// = 384, // DEPRECATED: DON'T REUSE
// = 385, // DEPRECATED: DON'T REUSE
// = 386, // DEPRECATED: DON'T REUSE
CommandGobject = 387,
CommandGobjectActivate = 388,
CommandGobjectAdd = 389,
@@ -704,9 +704,9 @@ namespace Framework.Constants
CommandInstanceGetBossState = 796,
CommandPvpstats = 797,
CommandModifyXp = 798,
CommandGoBugTicket = 799,
CommandGoComplaintTicket = 800,
CommandGoSuggestionTicket = 801,
// = 799, // DEPRECATED: DON'T REUSE
// = 800, // DEPRECATED: DON'T REUSE
// = 801, // DEPRECATED: DON'T REUSE
CommandTicketBug = 802,
CommandTicketComplaint = 803,
CommandTicketSuggestion = 804,
@@ -739,7 +739,7 @@ namespace Framework.Constants
CommandTicketResetBug = 831,
CommandTicketResetComplaint = 832,
CommandTicketResetSuggestion = 833,
CommandGoQuest = 834,
// = 834, // DEPRECATED: DON'T REUSE
CommandDebugLoadcells = 835,
CommandDebugBoundary = 836,
CommandNpcEvade = 837,
@@ -757,7 +757,7 @@ namespace Framework.Constants
CommandListScenes = 849,
CommandReloadSceneTemplate = 850,
CommandReloadAreatriggerTemplate = 851,
CommandGoOffset = 852,
// = 852, // DEPRECATED: DON'T REUSE
CommandReloadConversationTemplate = 853,
CommandDebugConversation = 854,
CommandDebugPlayMusic = 855,
@@ -779,7 +779,7 @@ namespace Framework.Constants
CommandDebugInstancespawn = 871,
CommandServerDebug = 872,
CommandReloadCreatureMovementOverride = 873,
// 874 previously used, do not reuse
// = 874, // DEPRECATED: DON'T REUSE
CommandLookupMapId = 875,
CommandLookupItemId = 876,
CommandLookupQuestId = 877,
+14 -14
View File
@@ -30,19 +30,19 @@ namespace Game.Chat.Commands
[CommandGroup("go", RBACPermissions.CommandGo)]
class GoCommands
{
[Command("bugticket", RBACPermissions.CommandGoBugTicket)]
[Command("bugticket", RBACPermissions.CommandGo)]
static bool HandleGoBugTicketCommand(StringArguments args, CommandHandler handler)
{
return HandleGoTicketCommand<BugTicket>(args, handler);
}
[Command("complaintticket", RBACPermissions.CommandGoComplaintTicket)]
[Command("complaintticket", RBACPermissions.CommandGo)]
static bool HandleGoComplaintTicketCommand(StringArguments args, CommandHandler handler)
{
return HandleGoTicketCommand<ComplaintTicket>(args, handler);
}
[Command("creature", RBACPermissions.CommandGoCreature)]
[Command("creature", RBACPermissions.CommandGo)]
static bool HandleGoCreatureCommand(StringArguments args, CommandHandler handler)
{
if (args.Empty())
@@ -118,7 +118,7 @@ namespace Game.Chat.Commands
return true;
}
[Command("graveyard", RBACPermissions.CommandGoGraveyard)]
[Command("graveyard", RBACPermissions.CommandGo)]
static bool HandleGoGraveyardCommand(StringArguments args, CommandHandler handler)
{
Player player = handler.GetSession().GetPlayer();
@@ -154,7 +154,7 @@ namespace Game.Chat.Commands
}
//teleport to grid
[Command("grid", RBACPermissions.CommandGoGrid)]
[Command("grid", RBACPermissions.CommandGo)]
static bool HandleGoGridCommand(StringArguments args, CommandHandler handler)
{
if (args.Empty())
@@ -194,7 +194,7 @@ namespace Game.Chat.Commands
return true;
}
[Command("instance", RBACPermissions.CommandGoInstance)]
[Command("instance", RBACPermissions.CommandGo)]
static bool HandleGoInstanceCommand(StringArguments args, CommandHandler handler)
{
if (args.Empty())
@@ -274,7 +274,7 @@ namespace Game.Chat.Commands
}
//teleport to gameobject
[Command("object", RBACPermissions.CommandGoObject)]
[Command("object", RBACPermissions.CommandGo)]
static bool HandleGoObjectCommand(StringArguments args, CommandHandler handler)
{
if (args.Empty())
@@ -314,7 +314,7 @@ namespace Game.Chat.Commands
return true;
}
[Command("offset", RBACPermissions.CommandGoOffset)]
[Command("offset", RBACPermissions.CommandGo)]
static bool HandleGoOffsetCommand(StringArguments args, CommandHandler handler)
{
if (args.Empty())
@@ -354,7 +354,7 @@ namespace Game.Chat.Commands
return true;
}
[Command("quest", RBACPermissions.CommandGoQuest)]
[Command("quest", RBACPermissions.CommandGo)]
static bool HandleGoQuestCommand(StringArguments args, CommandHandler handler)
{
if (args.Empty())
@@ -413,13 +413,13 @@ namespace Game.Chat.Commands
return true;
}
[Command("suggestionticket", RBACPermissions.CommandGoSuggestionTicket)]
[Command("suggestionticket", RBACPermissions.CommandGo)]
static bool HandleGoSuggestionTicketCommand(StringArguments args, CommandHandler handler)
{
return HandleGoTicketCommand<SuggestionTicket>(args, handler);
}
[Command("taxinode", RBACPermissions.CommandGoTaxinode)]
[Command("taxinode", RBACPermissions.CommandGo)]
static bool HandleGoTaxinodeCommand(StringArguments args, CommandHandler handler)
{
Player player = handler.GetSession().GetPlayer();
@@ -458,7 +458,7 @@ namespace Game.Chat.Commands
return true;
}
[Command("trigger", RBACPermissions.CommandGoTrigger)]
[Command("trigger", RBACPermissions.CommandGo)]
static bool HandleGoTriggerCommand(StringArguments args, CommandHandler handler)
{
Player player = handler.GetSession().GetPlayer();
@@ -494,7 +494,7 @@ namespace Game.Chat.Commands
}
//teleport at coordinates, including Z and orientation
[Command("xyz", RBACPermissions.CommandGoXyz)]
[Command("xyz", RBACPermissions.CommandGo)]
static bool HandleGoXYZCommand(StringArguments args, CommandHandler handler)
{
if (args.Empty())
@@ -550,7 +550,7 @@ namespace Game.Chat.Commands
}
//teleport at coordinates
[Command("zonexy", RBACPermissions.CommandGoZonexy)]
[Command("zonexy", RBACPermissions.CommandGo)]
static bool HandleGoZoneXYCommand(StringArguments args, CommandHandler handler)
{
if (args.Empty())
@@ -0,0 +1,3 @@
-- rbac simplify
DELETE FROM `rbac_linked_permissions` WHERE `linkedid` IN (378,379,380,381,382,383,384,385,386,852,874);
DELETE FROM `rbac_permissions` WHERE `id` IN (378,379,380,381,382,383,384,385,386,852,874);
@@ -0,0 +1,3 @@
-- rbac simplify
DELETE FROM `rbac_linked_permissions` WHERE `linkedid` IN (834,799,800,801);
DELETE FROM `rbac_permissions` WHERE `id` IN (834,799,800,801);
@@ -0,0 +1,2 @@
--
UPDATE `command` SET `permission`=377 WHERE (`permission` BETWEEN 378 AND 386) OR `permission` IN (852,874,834,799,800,801);