From 44d63c47d9a1d357f0f70729622cff8b54e6c89b Mon Sep 17 00:00:00 2001 From: Alex King <89047260+Kinglykrab@users.noreply.github.com> Date: Sun, 7 Jan 2024 01:24:02 -0500 Subject: [PATCH] [Account] Convert UpdateGMStatus to Repositories (#3859) - Convert `UpdateGMStatus` to repositories. - Convert parameter of status to `int`. --- zone/client.cpp | 2 +- zone/client.h | 2 +- zone/lua_client.cpp | 4 ++-- zone/lua_client.h | 2 +- zone/perl_client.cpp | 2 +- zone/zonedb.cpp | 22 ++++++++-------------- zone/zonedb.h | 2 +- 7 files changed, 15 insertions(+), 21 deletions(-) diff --git a/zone/client.cpp b/zone/client.cpp index 4ce46a743..4228f53a3 100644 --- a/zone/client.cpp +++ b/zone/client.cpp @@ -10317,7 +10317,7 @@ void Client::RemoveItem(uint32 item_id, uint32 quantity) } } -void Client::SetGMStatus(int16 new_status) { +void Client::SetGMStatus(int new_status) { if (Admin() != new_status) { database.UpdateGMStatus(AccountID(), new_status); UpdateAdmin(); diff --git a/zone/client.h b/zone/client.h index b3f95db07..d171a5fa6 100644 --- a/zone/client.h +++ b/zone/client.h @@ -1607,7 +1607,7 @@ public: void SetAccountFlag(const std::string& flag, const std::string& value); std::string GetAccountFlag(const std::string& flag); std::vector GetAccountFlags(); - void SetGMStatus(int16 new_status); + void SetGMStatus(int new_status); void Consume(const EQ::ItemData *item, uint8 type, int16 slot, bool auto_consume); void PlayMP3(const char* fname); void ExpeditionSay(const char *str, int ExpID); diff --git a/zone/lua_client.cpp b/zone/lua_client.cpp index b98802f7b..811163417 100644 --- a/zone/lua_client.cpp +++ b/zone/lua_client.cpp @@ -2279,7 +2279,7 @@ void Lua_Client::RemoveItem(uint32 item_id, uint32 quantity) { self->RemoveItem(item_id, quantity); } -void Lua_Client::SetGMStatus(int16 new_status) { +void Lua_Client::SetGMStatus(int new_status) { Lua_Safe_Call_Void(); self->SetGMStatus(new_status); } @@ -3711,7 +3711,7 @@ luabind::scope lua_register_client() { .def("SetFactionLevel2", (void(Lua_Client::*)(uint32,int,int,int,int,int,int))&Lua_Client::SetFactionLevel2) .def("SetFeigned", (void(Lua_Client::*)(bool))&Lua_Client::SetFeigned) .def("SetGM", (void(Lua_Client::*)(bool))&Lua_Client::SetGM) - .def("SetGMStatus", (void(Lua_Client::*)(int16))&Lua_Client::SetGMStatus) + .def("SetGMStatus", (void(Lua_Client::*)(int))&Lua_Client::SetGMStatus) .def("SetHideMe", (void(Lua_Client::*)(bool))&Lua_Client::SetHideMe) .def("SetHorseId", (void(Lua_Client::*)(int))&Lua_Client::SetHorseId) .def("SetHunger", (void(Lua_Client::*)(int))&Lua_Client::SetHunger) diff --git a/zone/lua_client.h b/zone/lua_client.h index f7ba792db..4df40f75a 100644 --- a/zone/lua_client.h +++ b/zone/lua_client.h @@ -439,7 +439,7 @@ public: int CountItem(uint32 item_id); void RemoveItem(uint32 item_id); void RemoveItem(uint32 item_id, uint32 quantity); - void SetGMStatus(int16 new_status); + void SetGMStatus(int new_status); int16 GetGMStatus(); void AddItem(luabind::object item_table); int CountAugmentEquippedByID(uint32 item_id); diff --git a/zone/perl_client.cpp b/zone/perl_client.cpp index 4f62bff34..e66fa134d 100644 --- a/zone/perl_client.cpp +++ b/zone/perl_client.cpp @@ -1208,7 +1208,7 @@ void Perl_Client_ReadBook(Client* self, const char* book_text, uint8 type) // @c self->QuestReadBook(book_text, type); } -void Perl_Client_SetGMStatus(Client* self, int16 new_status) // @categories Script Utility +void Perl_Client_SetGMStatus(Client* self, int new_status) // @categories Script Utility { self->SetGMStatus(new_status); } diff --git a/zone/zonedb.cpp b/zone/zonedb.cpp index 1d19817ca..cddbcac28 100755 --- a/zone/zonedb.cpp +++ b/zone/zonedb.cpp @@ -4439,22 +4439,16 @@ void ZoneDatabase::SetEXPModifier(uint32 character_id, uint32 zone_id, double ex database.QueryDatabase(query); } -void ZoneDatabase::UpdateGMStatus(uint32 accID, int newStatus) +void ZoneDatabase::UpdateGMStatus(uint32 account_id, int new_status) { - if (accID) { - std::string query = fmt::format( - SQL( - UPDATE - `account` - SET `status` = {} - WHERE - `id` = {} - ), - newStatus, - accID - ); - database.QueryDatabase(query); + auto e = AccountRepository::FindOne(*this, account_id); + if (!e.id) { + return; } + + e.status = new_status; + + AccountRepository::UpdateOne(*this, e); } void ZoneDatabase::SaveCharacterBinds(Client *c) diff --git a/zone/zonedb.h b/zone/zonedb.h index 967897778..61cf4836c 100644 --- a/zone/zonedb.h +++ b/zone/zonedb.h @@ -401,7 +401,7 @@ public: void UpdateBuyLine(uint32 CharID, uint32 BuySlot, uint32 Quantity); - void UpdateGMStatus(uint32 accID, int newStatus); + void UpdateGMStatus(uint32 account_id, int new_status); /** ************************************************