From e7421549c3a3e530c1d1d043de8a327ec97dad2b Mon Sep 17 00:00:00 2001 From: hondacrx Date: Tue, 2 Nov 2021 17:05:18 -0400 Subject: [PATCH] Core/RBAC: Simplification part 1. Nobody needs different permissions for each type of .go command. Port From (https://github.com/TrinityCore/TrinityCore/commit/f1ecb976ec9db8569f8c7601a05282c9d29778b4) --- Source/Framework/Constants/AccountConst.cs | 30 +++++++++---------- Source/Game/Chat/Commands/GoCommands.cs | 28 ++++++++--------- .../auth/master/2018_09_06_00_auth.sql | 3 ++ .../auth/master/2021_10_23_00_auth.sql | 3 ++ ...021_10_23_14_world_2018_09_06_00_world.sql | 2 ++ 5 files changed, 37 insertions(+), 29 deletions(-) create mode 100644 sql/updates/auth/master/2018_09_06_00_auth.sql create mode 100644 sql/updates/auth/master/2021_10_23_00_auth.sql create mode 100644 sql/updates/world/master/2021_10_23_14_world_2018_09_06_00_world.sql diff --git a/Source/Framework/Constants/AccountConst.cs b/Source/Framework/Constants/AccountConst.cs index 4c945a021..8bcf92627 100644 --- a/Source/Framework/Constants/AccountConst.cs +++ b/Source/Framework/Constants/AccountConst.cs @@ -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, diff --git a/Source/Game/Chat/Commands/GoCommands.cs b/Source/Game/Chat/Commands/GoCommands.cs index 037384495..c394ad547 100644 --- a/Source/Game/Chat/Commands/GoCommands.cs +++ b/Source/Game/Chat/Commands/GoCommands.cs @@ -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(args, handler); } - [Command("complaintticket", RBACPermissions.CommandGoComplaintTicket)] + [Command("complaintticket", RBACPermissions.CommandGo)] static bool HandleGoComplaintTicketCommand(StringArguments args, CommandHandler handler) { return HandleGoTicketCommand(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(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()) diff --git a/sql/updates/auth/master/2018_09_06_00_auth.sql b/sql/updates/auth/master/2018_09_06_00_auth.sql new file mode 100644 index 000000000..5a9718edc --- /dev/null +++ b/sql/updates/auth/master/2018_09_06_00_auth.sql @@ -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); diff --git a/sql/updates/auth/master/2021_10_23_00_auth.sql b/sql/updates/auth/master/2021_10_23_00_auth.sql new file mode 100644 index 000000000..5a0e26c23 --- /dev/null +++ b/sql/updates/auth/master/2021_10_23_00_auth.sql @@ -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); diff --git a/sql/updates/world/master/2021_10_23_14_world_2018_09_06_00_world.sql b/sql/updates/world/master/2021_10_23_14_world_2018_09_06_00_world.sql new file mode 100644 index 000000000..37e0a86fc --- /dev/null +++ b/sql/updates/world/master/2021_10_23_14_world_2018_09_06_00_world.sql @@ -0,0 +1,2 @@ +-- +UPDATE `command` SET `permission`=377 WHERE (`permission` BETWEEN 378 AND 386) OR `permission` IN (852,874,834,799,800,801);