diff options
Diffstat (limited to 'src/server/game/Accounts/RBAC.cpp')
-rw-r--r-- | src/server/game/Accounts/RBAC.cpp | 37 |
1 files changed, 25 insertions, 12 deletions
diff --git a/src/server/game/Accounts/RBAC.cpp b/src/server/game/Accounts/RBAC.cpp index d269fe0946c..044c72d5b73 100644 --- a/src/server/game/Accounts/RBAC.cpp +++ b/src/server/game/Accounts/RBAC.cpp @@ -17,29 +17,42 @@ #include "RBAC.h" #include "AccountMgr.h" +#include "Common.h" #include "DatabaseEnv.h" #include "Log.h" -#include <sstream> +#include <fmt/ranges.h> namespace rbac { std::string GetDebugPermissionString(RBACPermissionContainer const& perms) { - std::string str = ""; - if (!perms.empty()) - { - std::ostringstream o; - RBACPermissionContainer::const_iterator itr = perms.begin(); - o << (*itr); - for (++itr; itr != perms.end(); ++itr) - o << ", " << uint32(*itr); - str = o.str(); - } + return Trinity::StringFormat("{}", fmt::join(perms, ", "sv)); +} - return str; +RBACPermission::RBACPermission(uint32 id, std::string const& name): + _id(id), _name(name), _perms() +{ } +RBACPermission::RBACPermission(RBACPermission const& other) = default; +RBACPermission::RBACPermission(RBACPermission&& other) noexcept = default; +RBACPermission& RBACPermission::operator=(RBACPermission const& right) = default; +RBACPermission& RBACPermission::operator=(RBACPermission&& right) noexcept = default; +RBACPermission::~RBACPermission() = default; + +RBACData::RBACData(uint32 id, std::string const& name, int32 realmId, uint8 secLevel): + _id(id), _name(name), _realmId(realmId), _secLevel(secLevel), + _grantedPerms(), _deniedPerms(), _globalPerms() +{ +} + +RBACData::RBACData(RBACData const& other) = default; +RBACData::RBACData(RBACData&& other) noexcept = default; +RBACData& RBACData::operator=(RBACData const& right) = default; +RBACData& RBACData::operator=(RBACData&& right) noexcept = default; +RBACData::~RBACData() = default; + RBACCommandResult RBACData::GrantPermission(uint32 permissionId, int32 realmId /* = 0*/) { // Check if permission Id exists |