diff --git a/CMakePresets.json b/CMakePresets.json index 7dac0e0..7159bf8 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -1,102 +1,102 @@ { - "version": 3, - "cmakeMinimumRequired": { - "major": 3, - "minor": 21, - "patch": 0 + "version": 3, + "cmakeMinimumRequired": { + "major": 3, + "minor": 21, + "patch": 0 + }, + "configurePresets": [ + { + "name": "default-base", + "displayName": "Default basic config", + "description": "General basic configuration to inherit", + "toolchainFile": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake", + "hidden": true }, - "configurePresets": [ - { - "name": "default-base", - "displayName": "Default basic config", - "description": "General basic configuration to inherit", - "toolchainFile": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake", - "hidden": true - }, - { - "name": "default-debug", - "displayName": "Config Debug", - "description": "General default debug configuration", - "inherits": "default-base", - "cacheVariables": { - "CMAKE_BUILD_TYPE": "Debug" - }, - "hidden": true - }, - { - "name": "default-release", - "displayName": "Config Release", - "description": "General default release configuration", - "inherits": "default-base", - "cacheVariables": { - "CMAKE_BUILD_TYPE": "RelWithDebInfo" - }, - "hidden": true + { + "name": "default-debug", + "displayName": "Config Debug", + "description": "General default debug configuration", + "inherits": "default-base", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Debug" + }, + "hidden": true + }, + { + "name": "default-release", + "displayName": "Config Release", + "description": "General default release configuration", + "inherits": "default-base", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "RelWithDebInfo" + }, + "hidden": true + }, + { + "name": "debug-win64", + "displayName": "Development config for Windows (64-bit)", + "inherits": "default-debug", + "generator": "Visual Studio 18 2026", + "architecture": "x64", + "condition": { + "type": "equals", + "lhs": "${hostSystemName}", + "rhs": "Windows" + }, + "cacheVariables": { + "GIMUSRV_FRONTEND": { + "type": "STRING", + "value": "STANDALONE" }, - { - "name": "debug-win64", - "displayName": "Development config for Windows (64-bit)", - "inherits": "default-debug", - "generator": "Visual Studio 17 2022", - "architecture": "x64", - "condition": { - "type": "equals", - "lhs": "${hostSystemName}", - "rhs": "Windows" - }, - "cacheVariables": { - "GIMUSRV_FRONTEND": { - "type": "STRING", - "value": "STANDALONE" - }, - "VCPKG_TARGET_TRIPLET": { - "type": "STRING", - "value": "x64-windows" - } - } + "VCPKG_TARGET_TRIPLET": { + "type": "STRING", + "value": "x64-windows" + } + } + }, + { + "name": "debug-lnx64", + "displayName": "Development config for Linux (64-bit)", + "inherits": "default-debug", + "generator": "Ninja", + "condition": { + "type": "equals", + "lhs": "${hostSystemName}", + "rhs": "Linux" + }, + "cacheVariables": { + "GIMUSRV_FRONTEND": { + "type": "STRING", + "value": "STANDALONE" }, - { - "name": "debug-lnx64", - "displayName": "Development config for Linux (64-bit)", - "inherits": "default-debug", - "generator": "Ninja", - "condition": { - "type": "equals", - "lhs": "${hostSystemName}", - "rhs": "Linux" - }, - "cacheVariables": { - "GIMUSRV_FRONTEND": { - "type": "STRING", - "value": "STANDALONE" - }, - "VCPKG_TARGET_TRIPLET": { - "type": "STRING", - "value": "x64-linux" - } - } + "VCPKG_TARGET_TRIPLET": { + "type": "STRING", + "value": "x64-linux" + } + } + }, + { + "name": "release-win32", + "displayName": "Deployment for Brave Frontier for Windows", + "inherits": "default-release", + "generator": "Visual Studio 18 2026", + "architecture": "x64", + "condition": { + "type": "equals", + "lhs": "${hostSystemName}", + "rhs": "Windows" + }, + "cacheVariables": { + "GIMUSRV_FRONTEND": { + "type": "STRING", + "value": "PROXYAPPX" }, - { - "name": "release-win32", - "displayName": "Deployment for Brave Frontier for Windows", - "inherits": "default-release", - "generator": "Visual Studio 17 2022", - "architecture": "x64", - "condition": { - "type": "equals", - "lhs": "${hostSystemName}", - "rhs": "Windows" - }, - "cacheVariables": { - "GIMUSRV_FRONTEND": { - "type": "STRING", - "value": "PROXYAPPX" - }, - "VCPKG_TARGET_TRIPLET": { - "type": "STRING", - "value": "x86-windows-static" - } - } + "VCPKG_TARGET_TRIPLET": { + "type": "STRING", + "value": "x86-windows-static" } - ] -} + } + } + ] +} \ No newline at end of file diff --git a/GimuServer.slnx b/GimuServer.slnx new file mode 100644 index 0000000..3a6b1d0 --- /dev/null +++ b/GimuServer.slnx @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/deploy/gimuconfig.json b/deploy/gimuconfig.json index 96e9798..386c107 100644 --- a/deploy/gimuconfig.json +++ b/deploy/gimuconfig.json @@ -3,10 +3,10 @@ "content_root": "./game_content", "gme_sqlite_path": "./gme.sqlite", "session_timeout": 1200, - "mst_root": "./system" // "./system" + "mst_root": "./system" }, "server": { - "wallpaper_banner": "/wallpaper/title_logo20151028.jpg", // title_logo20160401 + "wallpaper_banner": "/wallpaper/title_logo20151028.jpg", "game_version": 21900, "notice_url": "http://ios21900.bfww.gumi.sg/pages/versioninfo" }, diff --git a/gimuserver/core/System.cpp b/gimuserver/core/System.cpp index b43d869..77ad214 100644 --- a/gimuserver/core/System.cpp +++ b/gimuserver/core/System.cpp @@ -3,46 +3,136 @@ #include #include #include +#include void System::LoadSystemConfig(const std::string& p) { - std::ifstream ifs; - ifs.open(p); + std::ifstream ifs; + ifs.open(p); - if (!ifs.is_open()) - throw std::runtime_error("gimuconfig.json: not found"); + if (!ifs.is_open()) + throw std::runtime_error("gimuconfig.json: not found"); - Json::CharReaderBuilder rb; - JSONCPP_STRING jss; - Json::Value root; - if (!Json::parseFromStream(rb, ifs, &root, &jss)) - throw std::runtime_error("gimuconfig.json: parse error"); + Json::CharReaderBuilder rb; + JSONCPP_STRING jss; + Json::Value root; + if (!Json::parseFromStream(rb, ifs, &root, &jss)) + throw std::runtime_error("gimuconfig.json: parse error"); - const auto& sys = root["system"]; - const auto& srv = root["server"]; - const auto& log = root["log"]; + const auto& sys = root["system"]; + const auto& srv = root["server"]; + const auto& log = root["log"]; - m_serverCfg.ParseFromJson(srv); - m_logCfg.ParseFromJson(log); + m_serverCfg.ParseFromJson(srv); + m_logCfg.ParseFromJson(log); - ParseSystemConfig(sys); + ParseSystemConfig(sys); - std::filesystem::create_directory(m_logCfg.RequestPath); - std::filesystem::create_directory(m_logCfg.ResponsePath); + std::filesystem::create_directory(m_logCfg.RequestPath); + std::filesystem::create_directory(m_logCfg.ResponsePath); } void System::ParseSystemConfig(const Json::Value& v) { - m_contentRoot = v["content_root"].asString(); - m_dbPath = v["gme_sqlite_path"].asString(); - m_sessionTimeout = size_t(v["session_timeout"].asUInt64()); + m_contentRoot = v["content_root"].asString(); + m_dbPath = v["gme_sqlite_path"].asString(); + m_sessionTimeout = size_t(v["session_timeout"].asUInt64()); - m_mstConfig.LoadAllTables(v["mst_root"].asString()); + m_mstConfig.LoadAllTables(v["mst_root"].asString()); } void System::RunMigrations(drogon::orm::DbClientPtr p) { - m_mg.RunMigrations(p); + m_mg.RunMigrations(p); } -System System::m_sys; +void System::ResolveActiveUser(drogon::orm::DbClientPtr db) +{ + try + { + auto result = db->execSqlSync("SELECT id, username FROM users LIMIT 1;"); + if (!result.empty()) + { + m_activeUserID = result[0]["id"].as(); + std::string username = result[0]["username"].as(); + LOG_INFO << "System::ResolveActiveUser: active user -> '" + << username << "' (id=" << m_activeUserID << ")"; + } + else + { + LOG_WARN << "System::ResolveActiveUser: no users in DB yet. " + << "Launch the game client once to create an account, " + << "then restart the server."; + } + } + catch (const drogon::orm::DrogonDbException& e) + { + LOG_ERROR << "System::ResolveActiveUser: DB error: " << e.base().what(); + } +} + +void System::DevValidateAndSeedUnits(drogon::orm::DbClientPtr db) +{ +#if !DEV_SKIP_TUTORIAL + return; +#else + const size_t expectedCount = ALL_UNIT_IDS.size(); + + LOG_INFO << "System::DevValidateAndSeedUnits: checking existing users " + << "(expecting " << expectedCount << " units each)"; + + try + { + auto users = db->execSqlSync("SELECT id FROM users;"); + + if (users.empty()) + { + LOG_INFO << "System::DevValidateAndSeedUnits: no existing users, nothing to do."; + return; + } + + for (const auto& row : users) + { + const std::string userId = row["id"].as(); + + auto countResult = db->execSqlSync( + "SELECT COUNT(*) FROM user_units WHERE user_id = $1;", userId); + + const size_t have = countResult[0][0].as(); + + if (have >= expectedCount) + { + LOG_DEBUG << "System::DevValidateAndSeedUnits: user " << userId + << " already has " << have << " units, skipping."; + continue; + } + + LOG_INFO << "System::DevValidateAndSeedUnits: user " << userId + << " has " << have << "/" << expectedCount << " units - seeding."; + + for (const auto& unitId : ALL_UNIT_IDS) + { + try + { + db->execSqlSync( + "INSERT OR IGNORE INTO user_units (user_id, unit_id) VALUES ($1, $2);", + userId, unitId); + } + catch (const drogon::orm::DrogonDbException& e) + { + LOG_WARN << "System::DevValidateAndSeedUnits: failed to insert unit " + << unitId << " for " << userId << ": " << e.base().what(); + } + } + + LOG_INFO << "System::DevValidateAndSeedUnits: finished seeding user " << userId; + } + } + catch (const drogon::orm::DrogonDbException& e) + { + LOG_ERROR << "System::DevValidateAndSeedUnits: DB error: " << e.base().what(); + } +#endif +} + +System System::m_sys; \ No newline at end of file diff --git a/gimuserver/core/System.hpp b/gimuserver/core/System.hpp index 016238b..fb8065a 100644 --- a/gimuserver/core/System.hpp +++ b/gimuserver/core/System.hpp @@ -10,33 +10,45 @@ class System final { public: - static System& Instance() { return m_sys; } - - void LoadSystemConfig(const std::string& path); - void RunMigrations(drogon::orm::DbClientPtr ptr); - - // "system" - const auto& GetContentRootPath() const { return m_contentRoot; } - const auto& GetDbPath() const { return m_dbPath; } - const auto& GetSessionTimeout() const { return m_sessionTimeout; } - // "mst" - const auto& MstConfig() const { return m_mstConfig; } - // "server" - const auto& ServerConfig() { return m_serverCfg; } - // "log" - const auto& LogConfig() const { return m_logCfg; } + static System& Instance() { return m_sys; } + + void LoadSystemConfig(const std::string& path); + void RunMigrations(drogon::orm::DbClientPtr ptr); + void DevValidateAndSeedUnits(drogon::orm::DbClientPtr ptr); + + // Queries the users table for the first real account and caches the ID. + // Called once at startup after RunMigrations. GmeController reads this + // via GetActiveUserID() instead of using any compile-time constant. + void ResolveActiveUser(drogon::orm::DbClientPtr ptr); + + // Returns the cached user ID resolved by ResolveActiveUser(). + // Empty string if ResolveActiveUser() has not run yet or the DB has no users. + const std::string& GetActiveUserID() const { return m_activeUserID; } + void SetActiveUserID(const std::string& id) { m_activeUserID = id; } + + // "system" + const auto& GetContentRootPath() const { return m_contentRoot; } + const auto& GetDbPath() const { return m_dbPath; } + const auto& GetSessionTimeout() const { return m_sessionTimeout; } + // "mst" + const auto& MstConfig() const { return m_mstConfig; } + // "server" + const auto& ServerConfig() { return m_serverCfg; } + // "log" + const auto& LogConfig() const { return m_logCfg; } private: - void ParseSystemConfig(const Json::Value& v); + void ParseSystemConfig(const Json::Value& v); - std::string m_contentRoot; - std::string m_dbPath; - size_t m_sessionTimeout; + std::string m_contentRoot; + std::string m_dbPath; + size_t m_sessionTimeout; + std::string m_activeUserID; // set by ResolveActiveUser() - ::ServerConfig m_serverCfg; - ::MstConfig m_mstConfig; - ::LogConfig m_logCfg; - MigrationManager m_mg; + ::ServerConfig m_serverCfg; + ::MstConfig m_mstConfig; + ::LogConfig m_logCfg; + MigrationManager m_mg; - static System m_sys; // SINGLETON!!!! -}; + static System m_sys; +}; \ No newline at end of file diff --git a/gimuserver/db/migrations/CreateUserUnitsTable.hpp b/gimuserver/db/migrations/CreateUserUnitsTable.hpp index 038d648..b491745 100644 --- a/gimuserver/db/migrations/CreateUserUnitsTable.hpp +++ b/gimuserver/db/migrations/CreateUserUnitsTable.hpp @@ -4,27 +4,34 @@ #include "../DbMacro.hpp" MIGRATION_NS_BEGIN + struct CreateUserUnitsTable : public IMigration { - virtual void execute(drogon::orm::DbClientPtr p) override + void execute(drogon::orm::DbClientPtr db) override { - p->execSqlSync( - "CREATE TABLE IF NOT EXISTS user_units (" - "user_id TEXT NOT NULL," - "unit_id TEXT NOT NULL," - "name TEXT NOT NULL," - "rarity INTEGER NOT NULL," - "element TEXT NOT NULL," - "stats TEXT NOT NULL," - "bb TEXT NOT NULL," - "leader_skill TEXT," - "ai TEXT," - "data TEXT NOT NULL," - "PRIMARY KEY (user_id, unit_id)" - ");" + db->execSqlSync(R"( + CREATE TABLE IF NOT EXISTS user_units ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id TEXT NOT NULL, + unit_id TEXT NOT NULL, + UNIQUE(user_id, unit_id) + ); + )"); + + // The game client uses user_units.id as the in-game unit instance + // identifier. IDs starting from 1 cause a client crash — the safe + // minimum observed in captured traffic is ~10407. + // Inserting and immediately deleting a sentinel row bumps the + // AUTOINCREMENT sequence to 10000 so all seeded units get ids >= 10001. + db->execSqlSync( + "INSERT INTO user_units (id, user_id, unit_id) VALUES (10000, '__sentinel__', '__sentinel__');" + ); + db->execSqlSync( + "DELETE FROM user_units WHERE user_id = '__sentinel__';" ); } - const char* getName() const override { return "08032025_CreateUserUnitsTable"; } // Unique migration name with date + const char* getName() const override { return "08032025_CreateUserUnitsTable"; } }; + MIGRATION_NS_END \ No newline at end of file diff --git a/gimuserver/gme/GmeController.cpp b/gimuserver/gme/GmeController.cpp index 5453873..412cc94 100644 --- a/gimuserver/gme/GmeController.cpp +++ b/gimuserver/gme/GmeController.cpp @@ -3,111 +3,152 @@ #include "GmeTypes.hpp" #include "core/BfCrypt.hpp" #include "core/Utils.hpp" +#include "core/System.hpp" #include "gme/response/FeatureCheck.hpp" +#include GmeController::GmeController() { - InitializeHandlers(); + InitializeHandlers(); } void GmeController::HandleGame(const HttpRequestPtr& rq, std::function&& callback) { - Json::Reader r; - Json::Value root; - - auto err = r.parse(rq->getBody().data(), root); - if (!err) - { - LOG_ERROR << "Cannot decode gme request: " << r.getFormatedErrorMessages(); - callback(HttpResponse::newNotFoundResponse()); // TODO: change this to a 500 page error along with DC - return; - } - - auto header = root[GME_HEADER]; - - if (header.isNull()) - { - LOG_ERROR << "Invalid gme header"; - callback(HttpResponse::newNotFoundResponse()); // TODO: change this to a 500 page error along with DC - return; - } - - auto reqid = header[HEADER_REQUEST_ID]; - - if (!reqid.isString()) - { - LOG_ERROR << "Invalid gme request_id"; - callback(HttpResponse::newNotFoundResponse()); // TODO: change this to a 500 page error along with DC - return; - } - - std::string encReq = reqid.asCString(); - - auto it = m_handlers.find(encReq); - - if (it == m_handlers.end()) - { - callback(newGmeErrorResponse(encReq, ErrorID::Yes, ErrorOperation::Close, "Unsupported request! Please report this error with the following information:\nRequest:" + encReq)); - return; - } - - const auto& q = *it->second; - - auto body = root[GME_BODY]; - Json::Value bodyJson; - - if (!body.isNull()) - { - auto enc_json = body[BODY_JSON]; - if (enc_json.isString()) - { - BfCrypt::DecryptGME(enc_json.asCString(), q.GetAesKey(), bodyJson); - - if (bodyJson.isNull()) - { - callback(newGmeErrorResponse(encReq, ErrorID::Yes, ErrorOperation::Close, "Unsupported decrypt key! Please report this error with the following information:\nRequest:" + encReq)); - return; - } - } - } - - Utils::AppendJsonReqToFile(bodyJson, q.GetGroupId()); - - // NOTE: in a real server this shouldn't happen - if (m_users.empty()) - { - UserInfo ui; - ui.info.userID = HARDCODE_USERID; - m_users.insert_or_assign(ui.info.userID, ui); - } - auto& user = m_users[HARDCODE_USERID]; - - q.Handle(user, callback, bodyJson); + Json::Reader r; + Json::Value root; + + auto err = r.parse(rq->getBody().data(), root); + if (!err) + { + LOG_ERROR << "Cannot decode gme request: " << r.getFormatedErrorMessages(); + callback(HttpResponse::newNotFoundResponse()); + return; + } + + auto header = root[GME_HEADER]; + if (header.isNull()) + { + LOG_ERROR << "Invalid gme header"; + callback(HttpResponse::newNotFoundResponse()); + return; + } + + auto reqid = header[HEADER_REQUEST_ID]; + if (!reqid.isString()) + { + LOG_ERROR << "Invalid gme request_id"; + callback(HttpResponse::newNotFoundResponse()); + return; + } + + std::string encReq = reqid.asCString(); + + auto it = m_handlers.find(encReq); + if (it == m_handlers.end()) + { + callback(newGmeErrorResponse(encReq, ErrorID::Yes, ErrorOperation::Close, + "Unsupported request! Please report this error with the following information:\nRequest:" + encReq)); + return; + } + + const auto& q = *it->second; + + auto body = root[GME_BODY]; + Json::Value bodyJson; + + if (!body.isNull()) + { + auto enc_json = body[BODY_JSON]; + if (enc_json.isString()) + { + BfCrypt::DecryptGME(enc_json.asCString(), q.GetAesKey(), bodyJson); + if (bodyJson.isNull()) + { + callback(newGmeErrorResponse(encReq, ErrorID::Yes, ErrorOperation::Close, + "Unsupported decrypt key! Please report this error with the following information:\nRequest:" + encReq)); + return; + } + } + } + + Utils::AppendJsonReqToFile(bodyJson, q.GetGroupId()); + + // Fast path — user already resolved from a previous request or startup. + const std::string& cachedID = System::Instance().GetActiveUserID(); + if (!cachedID.empty()) + { + DispatchToUser(cachedID, q, callback, bodyJson); + return; + } + + // Slow path — fresh install: DB was empty at startup so ResolveActiveUser + // found nothing. HandleGuest has since created the account; query it now, + // cache it, and dispatch. All subsequent requests take the fast path. + LOG_INFO << "GmeController: active user not cached, resolving from DB for request " << encReq; + + GME_DB->execSqlAsync( + "SELECT id FROM users LIMIT 1;", + [this, &q, callback, bodyJson](const drogon::orm::Result& result) + { + if (result.empty()) + { + // HandleGuest hasn't finished yet — client should retry. + LOG_WARN << "GmeController: no user in DB yet during lazy resolve."; + callback(newGmeErrorResponse(q.GetGroupId(), ErrorID::Yes, ErrorOperation::Close, + "Account is still being created, please try again in a moment.")); + return; + } + + const std::string resolvedID = result[0]["id"].as(); + LOG_INFO << "GmeController: lazily resolved user id=" << resolvedID; + System::Instance().SetActiveUserID(resolvedID); + DispatchToUser(resolvedID, q, callback, bodyJson); + }, + [&q, callback](const drogon::orm::DrogonDbException& e) + { + LOG_ERROR << "GmeController: DB error during lazy user resolve: " << e.base().what(); + callback(newGmeErrorResponse(q.GetGroupId(), ErrorID::Yes, ErrorOperation::Close, + "Internal server error during user resolution.")); + } + ); +} + +void GmeController::DispatchToUser(const std::string& userId, + const Handler::HandlerBase& handler, + Handler::DrogonCallback callback, + const Json::Value& bodyJson) +{ + if (m_users.find(userId) == m_users.end()) + { + UserInfo ui; + ui.info.userID = userId; + m_users.insert_or_assign(userId, ui); + } + handler.Handle(m_users[userId], callback, bodyJson); } void GmeController::HandleFeatureCheck(const HttpRequestPtr& rq, std::function&& callback) { - // note: drogon should already cache this - Json::Value v; - Response::FeatureCheck c; - c.Serialize(v); - callback(HttpResponse::newHttpJsonResponse(v)); + Json::Value v; + Response::FeatureCheck c; + c.Serialize(v); + callback(HttpResponse::newHttpJsonResponse(v)); } void GmeController::HandleServerTime(const HttpRequestPtr& rq, std::function&& callback) { - auto p = HttpResponse::newHttpResponse(); - p->setStatusCode(k200OK); - p->setContentTypeCode(CT_TEXT_HTML); - p->setBody(std::to_string(trantor::Date::date().secondsSinceEpoch())); - callback(p); + auto p = HttpResponse::newHttpResponse(); + p->setStatusCode(k200OK); + p->setContentTypeCode(CT_TEXT_HTML); + p->setBody(std::to_string(trantor::Date::date().secondsSinceEpoch())); + callback(p); } void GmeController::HandleDailyLogin(const HttpRequestPtr& rq, std::function&& callback) { - auto p = HttpResponse::newHttpResponse(); - p->setStatusCode(k200OK); - p->setContentTypeCode(CT_APPLICATION_JSON); - p->setBody("W3siUFJFU0VOVF9UWVBFIjoiMiIsIlBSRVNFTlRfSUQiOiIwIiwiUFJFU0VOVF9DTlQiOiIyMDAiLCJSRVdBUkQiOmZhbHNlLCJHUk9VUF9UWVBFIjoiMSIsIkRBWVNfTEVGVF9UT19HRU0iOjR9LHsiUFJFU0VOVF9UWVBFIjoiMyIsIlBSRVNFTlRfSUQiOiIwIiwiUFJFU0VOVF9DTlQiOiIxMDAwMCIsIlJFV0FSRCI6ZmFsc2UsIkdST1VQX1RZUEUiOiIxIiwiREFZU19MRUZUX1RPX0dFTSI6NH0seyJQUkVTRU5UX1RZUEUiOiI2IiwiUFJFU0VOVF9JRCI6IjEwMjAzIiwiUFJFU0VOVF9DTlQiOiIxIiwiUkVXQVJEIjpmYWxzZSwiR1JPVVBfVFlQRSI6IjEiLCJEQVlTX0xFRlRfVE9fR0VNIjo0fSx7IlBSRVNFTlRfVFlQRSI6IjYiLCJQUkVTRU5UX0lEIjoiMjAyMDMiLCJQUkVTRU5UX0NOVCI6IjEiLCJSRVdBUkQiOmZhbHNlLCJHUk9VUF9UWVBFIjoiMSIsIkRBWVNfTEVGVF9UT19HRU0iOjR9LHsiUFJFU0VOVF9UWVBFIjoiNiIsIlBSRVNFTlRfSUQiOiIzMDIwMyIsIlBSRVNFTlRfQ05UIjoiMSIsIlJFV0FSRCI6ZmFsc2UsIkdST1VQX1RZUEUiOiIxIiwiREFZU19MRUZUX1RPX0dFTSI6NH0seyJQUkVTRU5UX1RZUEUiOiI2IiwiUFJFU0VOVF9JRCI6IjQwMjAzIiwiUFJFU0VOVF9DTlQiOiIxIiwiUkVXQVJEIjpmYWxzZSwiR1JPVVBfVFlQRSI6IjEiLCJEQVlTX0xFRlRfVE9fR0VNIjo0fSx7IlBSRVNFTlRfVFlQRSI6IjYiLCJQUkVTRU5UX0lEIjoiNTAyMDMiLCJQUkVTRU5UX0NOVCI6IjEiLCJSRVdBUkQiOnRydWUsIkdST1VQX1RZUEUiOiIxIiwiREFZU19MRUZUX1RPX0dFTSI6NH0seyJQUkVTRU5UX1RZUEUiOiI2IiwiUFJFU0VOVF9JRCI6IjYwMTMzIiwiUFJFU0VOVF9DTlQiOiIxIiwiUkVXQVJEIjpmYWxzZSwiR1JPVVBfVFlQRSI6IjEiLCJEQVlTX0xFRlRfVE9fR0VNIjo0fSx7IlBSRVNFTlRfVFlQRSI6IjUiLCJQUkVTRU5UX0lEIjoiMjI0MDAiLCJQUkVTRU5UX0NOVCI6IjEiLCJSRVdBUkQiOmZhbHNlLCJHUk9VUF9UWVBFIjoiMSIsIkRBWVNfTEVGVF9UT19HRU0iOjR9XQ=="); - callback(p); -} + auto p = HttpResponse::newHttpResponse(); + p->setStatusCode(k200OK); + p->setContentTypeCode(CT_APPLICATION_JSON); + p->setBody("W3siUFJFU0VOVF9UWVBFIjoiMiIsIlBSRVNFTlRfSUQiOiIwIiwiUFJFU0VOVF9DTlQiOiIyMDAiLCJSRVdBUkQiOmZhbHNlLCJHUk9VUF9UWVBFIjoiMSIsIkRBWVNfTEVGVF9UT19HRU0iOjR9LHsiUFJFU0VOVF9UWVBFIjoiMyIsIlBSRVNFTlRfSUQiOiIwIiwiUFJFU0VOVF9DTlQiOiIxMDAwMCIsIlJFV0FSRCI6ZmFsc2UsIkdST1VQX1RZUEUiOiIxIiwiREFZU19MRUZUX1RPX0dFTSI6NH0seyJQUkVTRU5UX1RZUEUiOiI2IiwiUFJFU0VOVF9JRCI6IjEwMjAzIiwiUFJFU0VOVF9DTlQiOiIxIiwiUkVXQVJEIjpmYWxzZSwiR1JPVVBfVFlQRSI6IjEiLCJEQVlTX0xFRlRfVE9fR0VNIjo0fSx7IlBSRVNFTlRfVFlQRSI6IjYiLCJQUkVTRU5UX0lEIjoiMjAyMDMiLCJQUkVTRU5UX0NOVCI6IjEiLCJSRVdBUkQiOmZhbHNlLCJHUk9VUF9UWVBFIjoiMSIsIkRBWVNfTEVGVF9UT19HRU0iOjR9LHsiUFJFU0VOVF9UWVBFIjoiNiIsIlBSRVNFTlRfSUQiOiIzMDIwMyIsIlBSRVNFTlRfQ05UIjoiMSIsIlJFV0FSRCI6ZmFsc2UsIkdST1VQX1RZUEUiOiIxIiwiREFZU19MRUZUX1RPX0dFTSI6NH0seyJQUkVTRU5UX1RZUEUiOiI2IiwiUFJFU0VOVF9JRCI6IjQwMjAzIiwiUFJFU0VOVF9DTlQiOiIxIiwiUkVXQVJEIjpmYWxzZSwiR1JPVVBfVFlQRSI6IjEiLCJEQVlTX0xFRlRfVE9fR0VNIjo0fSx7IlBSRVNFTlRfVFlQRSI6IjYiLCJQUkVTRU5UX0lEIjoiNTAyMDMiLCJQUkVTRU5UX0NOVCI6IjEiLCJSRVdBUkQiOnRydWUsIkdST1VQX1RZUEUiOiIxIiwiREFZU19MRUZUX1RPX0dFTSI6NH0seyJQUkVTRU5UX1RZUEUiOiI2IiwiUFJFU0VOVF9JRCI6IjYwMTMzIiwiUFJFU0VOVF9DTlQiOiIxIiwiUkVXQVJEIjpmYWxzZSwiR1JPVVBfVFlQRSI6IjEiLCJEQVlTX0xFRlRfVE9fR0VNIjo0fSx7IlBSRVNFTlRfVFlQRSI6IjUiLCJQUkVTRU5UX0lEIjoiMjI0MDAiLCJQUkVTRU5UX0NOVCI6IjEiLCJSRVdBUkQiOmZhbHNlLCJHUk9VUF9UWVBFIjoiMSIsIkRBWVNfTEVGVF9UT19HRU0iOjR9XQ=="); + callback(p); +} \ No newline at end of file diff --git a/gimuserver/gme/GmeController.hpp b/gimuserver/gme/GmeController.hpp index f37ff6a..89a096e 100644 --- a/gimuserver/gme/GmeController.hpp +++ b/gimuserver/gme/GmeController.hpp @@ -13,25 +13,32 @@ using namespace drogon; class GmeController : public drogon::HttpController { public: - GmeController(); + GmeController(); - void HandleGame(const HttpRequestPtr& rq, std::function&& callback); - void HandleFeatureCheck(const HttpRequestPtr& rq, std::function&& callback); - void HandleServerTime(const HttpRequestPtr& rq, std::function&& callback); - void HandleDailyLogin(const HttpRequestPtr& rq, std::function&& callback); + void HandleGame(const HttpRequestPtr& rq, std::function&& callback); + void HandleFeatureCheck(const HttpRequestPtr& rq, std::function&& callback); + void HandleServerTime(const HttpRequestPtr& rq, std::function&& callback); + void HandleDailyLogin(const HttpRequestPtr& rq, std::function&& callback); - METHOD_LIST_BEGIN - ADD_METHOD_TO(GmeController::HandleGame, "/bf/gme/action.php", Post); - ADD_METHOD_TO(GmeController::HandleFeatureCheck, "/bf/gme/featureCheck.php", Get); - ADD_METHOD_TO(GmeController::HandleServerTime, "/bf/gme/action/getServerTime.php", Get); - ADD_METHOD_TO(GmeController::HandleDailyLogin, "/bf/gme/action/Daily_login.php", Post); - METHOD_LIST_END + METHOD_LIST_BEGIN + ADD_METHOD_TO(GmeController::HandleGame, "/bf/gme/action.php", Post); + ADD_METHOD_TO(GmeController::HandleFeatureCheck, "/bf/gme/featureCheck.php", Get); + ADD_METHOD_TO(GmeController::HandleServerTime, "/bf/gme/action/getServerTime.php", Get); + ADD_METHOD_TO(GmeController::HandleDailyLogin, "/bf/gme/action/Daily_login.php", Post); + METHOD_LIST_END private: - void InitializeHandlers(); - - inline void InitializeHandler(std::shared_ptr&& p) { m_handlers.insert_or_assign(p->GetGroupId(), p); } - - std::unordered_map> m_handlers; - std::unordered_map m_users; -}; + void InitializeHandlers(); + inline void InitializeHandler(std::shared_ptr&& p) + { + m_handlers.insert_or_assign(p->GetGroupId(), p); + } + + void DispatchToUser(const std::string& userId, + const Handler::HandlerBase& handler, + Handler::DrogonCallback callback, + const Json::Value& bodyJson); + + std::unordered_map> m_handlers; + std::unordered_map m_users; +}; \ No newline at end of file diff --git a/gimuserver/gme/GmeController_Handlers.cpp b/gimuserver/gme/GmeController_Handlers.cpp index b9acaef..5a1b974 100644 --- a/gimuserver/gme/GmeController_Handlers.cpp +++ b/gimuserver/gme/GmeController_Handlers.cpp @@ -1,27 +1,563 @@ +//#include "handlers/NgwordCheckRequestHandler.hpp" +//#include "handlers/CreateUserRequestHandler.hpp" +//#include "handlers/InitializeRequestHandler.hpp" +//#include "handlers/TutorialUpdateRequestHandler.hpp" +//#include "handlers/URLMstRequestHandler.hpp" #include "GmeController.hpp" -#include "handlers/InitializeHandler.hpp" -#include "handlers/UserInfoHandler.hpp" -#include "handlers/FriendGetHandler.hpp" -#include "handlers/HomeInfoHandler.hpp" -#include "handlers/BadgeInfoHandler.hpp" -#include "handlers/ControlCenterEnterHandler.hpp" -#include "handlers/UpdateInfoLightHandler.hpp" -#include "handlers/GatchaListHandler.hpp" -#include "handlers/DeckEditHandler.hpp" -#include "handlers/MissionStartHandler.hpp" +#include "handlers/BundlePurchaseRequestHandler.hpp" +#include "handlers/BundleCategoryRefreshRequestHandler.hpp" +#include "handlers/BundlePurchaseIapRequestHandler.hpp" +#include "handlers/SummonerJournalTaskRewardsRequestHandler.hpp" +#include "handlers/SummonerJournalInfoRequestHandler.hpp" +#include "handlers/SummonerJournalMilestoneRewardsRequestHandler.hpp" +#include "handlers/ChallengeArenaStartRequestHandler.hpp" +#include "handlers/ChallengeArenaShopAddItemRequestHandler.hpp" +#include "handlers/ChallengeArenaShopInfoRequestHandler.hpp" +#include "handlers/ChallengeArenaResetInfoRequestHandler.hpp" +#include "handlers/ChallengeArenaTChestReceivedRequestHandler.hpp" +#include "handlers/ChallengeArenaRankingRequestHandler.hpp" +#include "handlers/ChallengeArenaRankingRewardRequestHandler.hpp" +#include "handlers/ChallengeArenaBattleEndRequestHandler.hpp" +#include "handlers/ChallengeArenaTeamEditRequestHandler.hpp" +#include "handlers/ChallengeArenaBattleStartRequestHandler.hpp" +#include "handlers/DailyRewardClaimRequestHandler.hpp" +#include "handlers/TierTourneyClaimRewardRequestHandler.hpp" +#include "handlers/TierTourneyFriendListRequestHandler.hpp" +#include "handlers/TierTourneyRewardMstRequestHandler.hpp" +#include "handlers/UserTournamentInfoRequestHandler.hpp" +#include "handlers/VortexArenaTopRequestHandler.hpp" +#include "handlers/VortexArenaBattleStartRequestHandler.hpp" +#include "handlers/VortexArenaMatchingRequestHandler.hpp" +#include "handlers/VortexArenaBattleEndRequestHandler.hpp" +#include "handlers/VortexArenaRetireRequestHandler.hpp" +#include "handlers/VortexArenaLeaderboardRequestHandler.hpp" +#include "handlers/VortexArenaClaimDailyRequestHandler.hpp" +#include "handlers/VortexArenaClaimRequestHandler.hpp" +#include "handlers/DailyTaskClaimRewardRequestHandler.hpp" +#include "handlers/AchievementAcceptRequestHandler.hpp" +#include "handlers/AchievementDeliverRequestHandler.hpp" +#include "handlers/AchievementRewardReceiveRequestHandler.hpp" +#include "handlers/AchievementTradeRequestHandler.hpp" +#include "handlers/AreaRequestHandler.hpp" +#include "handlers/ArenaBattleEndRequestHandler.hpp" +#include "handlers/ArenaBattleRestartRequestHandler.hpp" +#include "handlers/ArenaBattleStartRequestHandler.hpp" +#include "handlers/ArenaFriendListRequestHandler.hpp" +#include "handlers/ArenaInfoRequestHandler.hpp" +#include "handlers/ArenaMatchingRequestHandler.hpp" +#include "handlers/ArenaRetireRequestHandler.hpp" +#include "handlers/ArenaStartRequestHandler.hpp" +#include "handlers/BadgeInfoRequestHandler.hpp" +#include "handlers/BuyCoinRequestHandler.hpp" +#include "handlers/BuyCoinStartRequestHandler.hpp" +#include "handlers/CampaignReceiptRequestHandler.hpp" +#include "handlers/ChallengeBaseRequestHandler.hpp" +#include "handlers/ChallengeMissionStartRequestHandler.hpp" +#include "handlers/ChallengeRankRewardRequestHandler.hpp" +#include "handlers/ChallengeRankingRequestHandler.hpp" +#include "handlers/ChallengeStartRequestHandler.hpp" +#include "handlers/ChallengeUserInfoRequestHandler.hpp" +#include "handlers/ChronologyRequestHandler.hpp" +#include "handlers/ControlCenterEnterRequestHandler.hpp" +#include "handlers/DebugUpdateRequestHandler.hpp" +#include "handlers/DeckEditRequestHandler.hpp" +#include "handlers/DungeonEventUpdateRequestHandler.hpp" +#include "handlers/DungeonKeyReceiptRequestHandler.hpp" +#include "handlers/DungeonKeyUseRequestHandler.hpp" +#include "handlers/FixGiftInfoRequestHandler.hpp" +#include "handlers/FriendAgreeRequestHandler.hpp" +#include "handlers/FriendApplyRequestHandler.hpp" +#include "handlers/FriendDeleteRequestHandler.hpp" +#include "handlers/FriendFavoriteRequestHandler.hpp" +#include "handlers/FriendGetAgreeRequestHandler.hpp" +#include "handlers/FriendGetRequestHandler.hpp" +#include "handlers/FriendRandomSearchRequestHandler.hpp" +#include "handlers/FriendRefuseRequestHandler.hpp" +#include "handlers/FriendSearchRequestHandler.hpp" +#include "handlers/GachaActionRequestHandler.hpp" +#include "handlers/GachaFixActionRequestHandler.hpp" +#include "handlers/GachaListRequestHandler.hpp" +#include "handlers/GetAchievementInfoRequestHandler.hpp" +#include "handlers/GetDistributeDungeonKeyInfoRequestHandler.hpp" +#include "handlers/GetGiftInfoRequestHandler.hpp" +#include "handlers/GetPlayerInfoRequestHandler.hpp" +#include "handlers/GetScenarioPlayingInfoRequestHandler.hpp" +#include "handlers/GetUserInfoRequestHandler.hpp" +#include "handlers/InitializeRequest2Handler.hpp" +#include "handlers/InvitationReceiptRequestHandler.hpp" +#include "handlers/ItemEditRequestHandler.hpp" +#include "handlers/ItemFavoriteRequestHandler.hpp" +#include "handlers/ItemMixRequestHandler.hpp" +#include "handlers/ItemSellRequestHandler.hpp" +#include "handlers/ItemSphereEqpRequestHandler.hpp" +#include "handlers/ItemUseTimeLimitRequestHandler.hpp" +#include "handlers/MissionContinueRequestHandler.hpp" +#include "handlers/MissionEndRequestHandler.hpp" +#include "handlers/MissionRestartRequestHandler.hpp" +#include "handlers/MissionStartRequestHandler.hpp" +#include "handlers/NoticeListRequestHandler.hpp" +#include "handlers/NoticeReadUpdateRequestHandler.hpp" +#include "handlers/NoticeUpdateRequestHandler.hpp" +#include "handlers/PresentListRequestHandler.hpp" +#include "handlers/PresentReceiptRequestHandler.hpp" +#include "handlers/SPChallengeMissionStartRequestHandler.hpp" +#include "handlers/SPChallengeRankingRequestHandler.hpp" +#include "handlers/SPChallengeUserInfoRequestHandler.hpp" +#include "handlers/SetPurchaseInfoRequestHandler.hpp" +#include "handlers/ShopUseRequestHandler.hpp" +#include "handlers/TieupCampaignInfoRequestHandler.hpp" +#include "handlers/TownFacilityUpdateRequestHandler.hpp" +#include "handlers/TownUpdateRequestHandler.hpp" +#include "handlers/TransferCodeCheckRequestHandler.hpp" +#include "handlers/TransferCodeIssueRequestHandler.hpp" +#include "handlers/TransferRequestHandler.hpp" +#include "handlers/TrialDeckEditRequestHandler.hpp" +#include "handlers/TrialDeckGetRequestHandler.hpp" +#include "handlers/UnitEvoRequestHandler.hpp" +#include "handlers/UnitFavoriteRequestHandler.hpp" +#include "handlers/UnitMixRequestHandler.hpp" +#include "handlers/UnitSellRequestHandler.hpp" +#include "handlers/UpdateEventInfoRequestHandler.hpp" +#include "handlers/UpdateInfoLightRequestHandler.hpp" +#include "handlers/UpdateInfoRequestHandler.hpp" +#include "handlers/UpdatePermitPlaceInfoRequestHandler.hpp" +#include "handlers/CampaignBattleEndRequestHandler.hpp" +#include "handlers/CampaignBattleStartRequestHandler.hpp" +#include "handlers/CampaignDeckEditRequestHandler.hpp" +#include "handlers/CampaignDeckGetRequestHandler.hpp" +#include "handlers/CampaignEndRequestHandler.hpp" +#include "handlers/CampaignItemEditRequestHandler.hpp" +#include "handlers/CampaignMissionGetRequestHandler.hpp" +#include "handlers/CampaignRestartRequestHandler.hpp" +#include "handlers/CampaignSaveRequestHandler.hpp" +#include "handlers/CampaignStartRequestHandler.hpp" +#include "handlers/ColosseumBattleEndRequestHandler.hpp" +#include "handlers/ColosseumBattleRestartRequestHandler.hpp" +#include "handlers/ColosseumBattleStartRequestHandler.hpp" +#include "handlers/ColosseumDeckEditRequestHandler.hpp" +#include "handlers/ColosseumFriendListRequestHandler.hpp" +#include "handlers/ColosseumGetRewardInfoRequestHandler.hpp" +#include "handlers/ColosseumRewardReceiptRequestHandler.hpp" +#include "handlers/FrontierGateContinueRequestHandler.hpp" +#include "handlers/FrontierGateEndRequestHandler.hpp" +#include "handlers/FrontierGateInfoRequestHandler.hpp" +#include "handlers/FrontierGateRankingRequestHandler.hpp" +#include "handlers/FrontierGateRestartRequestHandler.hpp" +#include "handlers/FrontierGateRetryRequestHandler.hpp" +#include "handlers/FrontierGateSaveRequestHandler.hpp" +#include "handlers/FrontierGateStartRequestHandler.hpp" +#include "handlers/MinigameCardEndRequestHandler.hpp" +#include "handlers/MinigameFriendListRequestHandler.hpp" +#include "handlers/MinigameNameEntryRequestHandler.hpp" +#include "handlers/MinigameRankingInfoRequestHandler.hpp" +#include "handlers/MinigameSmashEndRequestHandler.hpp" +#include "handlers/MinigameStartRequestHandler.hpp" +#include "handlers/RaidAgreementRequestHandler.hpp" +#include "handlers/RaidCampRestEndRequestHandler.hpp" +#include "handlers/RaidCampRestGetRequestHandler.hpp" +#include "handlers/RaidCampRestStartRequestHandler.hpp" +#include "handlers/RaidEnterRequestHandler.hpp" +#include "handlers/RaidExitRequestHandler.hpp" +#include "handlers/RaidFrlendSelectRequestHandler.hpp" +#include "handlers/RaidGetChatLogRequestHandler.hpp" +#include "handlers/RaidGetPlayerInfoRequestHandler.hpp" +#include "handlers/RaidItemDeleteRequestHandler.hpp" +#include "handlers/RaidItemEditRequestHandler.hpp" +#include "handlers/RaidItemMixRequestHandler.hpp" +#include "handlers/RaidLimitedUseItemRequestHandler.hpp" +#include "handlers/RaidMissionBattleEndRequestHandler.hpp" +#include "handlers/RaidMissionBattleRestartRequestHandler.hpp" +#include "handlers/RaidMissionBattleStartRequestHandler.hpp" +#include "handlers/RaidMissionEndRequestHandler.hpp" +#include "handlers/RaidMissionExitRequestHandler.hpp" +#include "handlers/RaidMissionHarvestRequestHandler.hpp" +#include "handlers/RaidMissionInfoLightRequestHandler.hpp" +#include "handlers/RaidMissionInfoRequestHandler.hpp" +#include "handlers/RaidMissionSelectRequestHandler.hpp" +#include "handlers/RaidMissionStartRequestHandler.hpp" +#include "handlers/RaidMissionUseItemRequestHandler.hpp" +#include "handlers/RaidQuickStartRequestHandler.hpp" +#include "handlers/RaidRoomDissolveRequestHandler.hpp" +#include "handlers/RaidRoomFriendGetRequestHandler.hpp" +#include "handlers/RaidRoomInfoRequestHandler.hpp" +#include "handlers/RaidRoomKickRequestHandler.hpp" +#include "handlers/RaidRoomListRequestHandler.hpp" +#include "handlers/RaidRoonItemEditRequestHandler.hpp" +#include "handlers/RaidSendChatRequestHandler.hpp" +#include "handlers/RaidShopUseRequestHandler.hpp" +#include "handlers/RaidUpDataRoomInfoRequestHandler.hpp" +#include "handlers/RaidUpDataUserReadyRequestHandler.hpp" +#include "handlers/RaidUpDateCashRequestHandler.hpp" +#include "handlers/RaidUpScenarioInfoRequestHandler.hpp" +#include "handlers/RaidUpdateBlackListRequestHandler.hpp" +#include "handlers/RaidUpdateProgressRequestHandler.hpp" +#include "handlers/RaidUserInfoRequestHandler.hpp" +#include "handlers/RaidWorloInfoRequestHandler.hpp" +#include "handlers/SlotActionRequestHandler.hpp" +#include "handlers/SummonerMixRequestHandler.hpp" +#include "handlers/SummonerSkillGetRequestHandler.hpp" +#include "handlers/UserSummonerInfoEditRequestHandler.hpp" +#include "handlers/FeSkillGetRequestHandler.hpp" +#include "handlers/CollabRewardRequestHandler.hpp" +#include "handlers/EventTokenExchangeInfoRequestHandler.hpp" +#include "handlers/EventTokenExchangePurchaseRequestHandler.hpp" +#include "handlers/EventTokenInfoRequestHandler.hpp" +#include "handlers/FGPlusGuildRankingRequestHandler.hpp" +#include "handlers/FGPlusGuildRewardClaimRequestHandler.hpp" +#include "handlers/GRGuardianDetailHandler.hpp" +#include "handlers/GachaActionRequest_SGHandler.hpp" +#include "handlers/GuildBattleScoreInfoRequestHandler.hpp" +#include "handlers/GuildBoardInfoRequestHandler.hpp" +#include "handlers/GuildBoardPostRequestHandler.hpp" +#include "handlers/GuildCreateRequestHandler.hpp" +#include "handlers/GuildDeckActivateRequestHandler.hpp" +#include "handlers/GuildDeckEditRequestHandler.hpp" +#include "handlers/GuildGuardianSummonContributeRequestHandler.hpp" +#include "handlers/GuildInfoRequestHandler.hpp" +#include "handlers/GuildInviteManageRequestHandler.hpp" +#include "handlers/GuildJoinRequestHandler.hpp" +#include "handlers/GuildJoinedListRequestHandler.hpp" +#include "handlers/GuildMemberGuildInfoRequestHandler.hpp" +#include "handlers/GuildMemberUpdateRequestHandler.hpp" +#include "handlers/GuildRaidBattleInfoRequestHandler.hpp" +#include "handlers/GuildRaidBattleLogListRequestHandler.hpp" +#include "handlers/GuildRaidBattleLogSetRequestHandler.hpp" +#include "handlers/GuildRaidBattleOutpostRelocateRequestHandler.hpp" +#include "handlers/GuildRaidBattleProgressRequestHandler.hpp" +#include "handlers/GuildRaidFriendSelectRequestHandler.hpp" +#include "handlers/GuildRaidGuardSetupRequestHandler.hpp" +#include "handlers/GuildRaidInfoRequestHandler.hpp" +#include "handlers/GuildRaidJoinRoomRequestHandler.hpp" +#include "handlers/GuildRaidMemberDeployRequestHandler.hpp" +#include "handlers/GuildRaidMissionBattleEndRequestHandler.hpp" +#include "handlers/GuildRaidMissionBattleStartRequestHandler.hpp" +#include "handlers/GuildRaidRankingResultRequestHandler.hpp" +#include "handlers/GuildRaidRoomBattleStartRequestHandler.hpp" +#include "handlers/GuildRaidRoomCreateRequestHandler.hpp" +#include "handlers/GuildRaidRoomInfoRequestHandler.hpp" +#include "handlers/GuildRaidRoomListRequestHandler.hpp" +#include "handlers/GuildRaidRoomMemberKickRequestHandler.hpp" +#include "handlers/GuildRaidRoomPartSkillSetRequestHandler.hpp" +#include "handlers/GuildRaidRoomPartSkillListRequestHandler.hpp" +#include "handlers/GuildRaidRoomUpdatedRequestHandler.hpp" +#include "handlers/GuildRankingDetailRequestHandler.hpp" +#include "handlers/GuildRankingRequestHandler.hpp" +#include "handlers/GuildPreviousRankingRequestHandler.hpp" +#include "handlers/GuildRecomendedMemberRequestHandler.hpp" +#include "handlers/GuildResearchInfoRequestHandler.hpp" +#include "handlers/GuildRoundBattleSummaryRequestHandler.hpp" +#include "handlers/GuildRoundSumarryRequestHandler.hpp" +#include "handlers/GuildSearchRequestHandler.hpp" +#include "handlers/GuildShopUseRequestHandler.hpp" +#include "handlers/GuildTradeRequestHandler.hpp" +#include "handlers/GuildUpdateRequestHandler.hpp" +#include "handlers/GuildUpgradeContRequestHandler.hpp" +#include "handlers/GuildUpgradeRequestHandler.hpp" +#include "handlers/GuilldBattleMoveRequestHandler.hpp" +#include "handlers/GuildCampRequestHandler.hpp" +#include "handlers/HomeInfoRequestHandler.hpp" +#include "handlers/InboxMessageManageRequestHandler.hpp" +#include "handlers/MultiGachaIapPurchaseIapRequestHandler.hpp" +#include "handlers/MysteryBoxClaimRequestHandler.hpp" +#include "handlers/MysteryBoxListRequestHandler.hpp" +#include "handlers/RaidFriendRemoveRequestHandler.hpp" +#include "handlers/SGChatLogInfoListRequestHandler.hpp" +#include "handlers/TutorialSkipRequestHandler.hpp" +#include "handlers/UnitOmniEvoRequestHandler.hpp" +#include "handlers/UserEnteredFeatureRequestHandler.hpp" +#include "handlers/UserGemShardInfoRequestHandler.hpp" +#include "handlers/UserLoginCampaignInfoRequestHandler.hpp" +#include "handlers/VideoAdCompleteRequestHandler.hpp" +#include "handlers/VideoAdSlotsClaimBonusRequestHandler.hpp" +#include "handlers/VideoAdSlotsCompleteRequestHandler.hpp" +#include "handlers/VideoAdSlotsStandInfoRefreshRequestHandler.hpp" +#include "handlers/VideoAdsSlotActionRequestHandler.hpp" +#include "handlers/DbbBondRequestHandler.hpp" +#include "handlers/UnitBondBoostRequestHandler.hpp" +#include "handlers/BannerClickRequestHandler.hpp" +#include "handlers/DailyLoginRequestHandler.hpp" +#include "handlers/UnitSelectorGachaTicketRequestHandler.hpp" #define REGISTER(name) InitializeHandler(std::make_shared()) void GmeController::InitializeHandlers() { - REGISTER(Initialize); - REGISTER(UserInfo); - REGISTER(FriendGet); - REGISTER(HomeInfo); - REGISTER(BadgeInfo); - REGISTER(ControlCenterEnter); - REGISTER(UpdateInfoLight); - REGISTER(GatchaList); - REGISTER(DeckEdit); - REGISTER(MissionStart); + //REGISTER(NgwordCheckRequest); //Checks the users name is appropriate on game first play flag + Associated to name assignment + //REGISTER(CreateUserRequest); //Creates a new user every time called, disabled for testing purposes + //REGISTER(InitializeRequest); //Disabled due to duplicate class. Refer to Initialize Request 2 below + //REGISTER(TutorialUpdateRequest); + //REGISTER(URLMstRequest); + REGISTER(BundlePurchaseRequest); + REGISTER(BundleCategoryRefreshRequest); + REGISTER(BundlePurchaseIapRequest); + REGISTER(SummonerJournalTaskRewardsRequest); + REGISTER(SummonerJournalInfoRequest); + REGISTER(SummonerJournalMilestoneRewardsRequest); + REGISTER(ChallengeArenaStartRequest); + REGISTER(ChallengeArenaShopAddItemRequest); + REGISTER(ChallengeArenaShopInfoRequest); + REGISTER(ChallengeArenaResetInfoRequest); + REGISTER(ChallengeArenaTChestReceivedRequest); + REGISTER(ChallengeArenaRankingRequest); + REGISTER(ChallengeArenaRankingRewardRequest); + REGISTER(ChallengeArenaBattleEndRequest); + REGISTER(ChallengeArenaTeamEditRequest); + REGISTER(ChallengeArenaBattleStartRequest); + REGISTER(DailyRewardClaimRequest); + REGISTER(TierTourneyClaimRewardRequest); + REGISTER(TierTourneyFriendListRequest); + REGISTER(TierTourneyRewardMstRequest); + REGISTER(UserTournamentInfoRequest); + REGISTER(VortexArenaTopRequest); + REGISTER(VortexArenaBattleStartRequest); + REGISTER(VortexArenaMatchingRequest); + REGISTER(VortexArenaBattleEndRequest); + REGISTER(VortexArenaRetireRequest); + REGISTER(VortexArenaLeaderboardRequest); + REGISTER(VortexArenaClaimDailyRequest); + REGISTER(VortexArenaClaimRequest); + REGISTER(DailyTaskClaimRewardRequest); + REGISTER(AchievementAcceptRequest); + REGISTER(AchievementDeliverRequest); + REGISTER(AchievementRewardReceiveRequest); + REGISTER(AchievementTradeRequest); + REGISTER(AreaRequest); + REGISTER(ArenaBattleEndRequest); + REGISTER(ArenaBattleRestartRequest); + REGISTER(ArenaBattleStartRequest); + REGISTER(ArenaFriendListRequest); + REGISTER(ArenaInfoRequest); + REGISTER(ArenaMatchingRequest); + REGISTER(ArenaRetireRequest); + REGISTER(ArenaStartRequest); + REGISTER(BadgeInfoRequest); + REGISTER(BuyCoinRequest); + REGISTER(BuyCoinStartRequest); + REGISTER(CampaignReceiptRequest); + REGISTER(ChallengeBaseRequest); + REGISTER(ChallengeMissionStartRequest); + REGISTER(ChallengeRankRewardRequest); + REGISTER(ChallengeRankingRequest); + REGISTER(ChallengeStartRequest); + REGISTER(ChallengeUserInfoRequest); + REGISTER(ChronologyRequest); + REGISTER(ControlCenterEnterRequest); + REGISTER(DebugUpdateRequest); + REGISTER(DeckEditRequest); + REGISTER(DungeonEventUpdateRequest); + REGISTER(DungeonKeyReceiptRequest); + REGISTER(DungeonKeyUseRequest); + REGISTER(FixGiftInfoRequest); + REGISTER(FriendAgreeRequest); + REGISTER(FriendApplyRequest); + REGISTER(FriendDeleteRequest); + REGISTER(FriendFavoriteRequest); + REGISTER(FriendGetAgreeRequest); + REGISTER(FriendGetRequest); + REGISTER(FriendRandomSearchRequest); + REGISTER(FriendRefuseRequest); + REGISTER(FriendSearchRequest); + REGISTER(GachaActionRequest); + REGISTER(GachaFixActionRequest); + REGISTER(GachaListRequest); + REGISTER(GetAchievementInfoRequest); + REGISTER(GetDistributeDungeonKeyInfoRequest); + REGISTER(GetGiftInfoRequest); + REGISTER(GetPlayerInfoRequest); + REGISTER(GetScenarioPlayingInfoRequest); + REGISTER(GetUserInfoRequest); + REGISTER(InitializeRequest2); + REGISTER(InvitationReceiptRequest); + REGISTER(ItemEditRequest); + REGISTER(ItemFavoriteRequest); + REGISTER(ItemMixRequest); + REGISTER(ItemSellRequest); + REGISTER(ItemSphereEqpRequest); + REGISTER(ItemUseTimeLimitRequest); + REGISTER(MissionContinueRequest); + REGISTER(MissionEndRequest); + REGISTER(MissionRestartRequest); + REGISTER(MissionStartRequest); + REGISTER(NoticeListRequest); + REGISTER(NoticeReadUpdateRequest); + REGISTER(NoticeUpdateRequest); + REGISTER(PresentListRequest); + REGISTER(PresentReceiptRequest); + REGISTER(SPChallengeMissionStartRequest); + REGISTER(SPChallengeRankingRequest); + REGISTER(SPChallengeUserInfoRequest); + REGISTER(SetPurchaseInfoRequest); + REGISTER(ShopUseRequest); + REGISTER(TieupCampaignInfoRequest); + REGISTER(TownFacilityUpdateRequest); + REGISTER(TownUpdateRequest); + REGISTER(TransferCodeCheckRequest); + REGISTER(TransferCodeIssueRequest); + REGISTER(TransferRequest); + REGISTER(TrialDeckEditRequest); + REGISTER(TrialDeckGetRequest); + REGISTER(UnitEvoRequest); + REGISTER(UnitFavoriteRequest); + REGISTER(UnitMixRequest); + REGISTER(UnitSellRequest); + REGISTER(UpdateEventInfoRequest); + REGISTER(UpdateInfoLightRequest); + REGISTER(UpdateInfoRequest); + REGISTER(UpdatePermitPlaceInfoRequest); + REGISTER(CampaignBattleEndRequest); + REGISTER(CampaignBattleStartRequest); + REGISTER(CampaignDeckEditRequest); + REGISTER(CampaignDeckGetRequest); + REGISTER(CampaignEndRequest); + REGISTER(CampaignItemEditRequest); + REGISTER(CampaignMissionGetRequest); + REGISTER(CampaignRestartRequest); + REGISTER(CampaignSaveRequest); + REGISTER(CampaignStartRequest); + REGISTER(ColosseumBattleEndRequest); + REGISTER(ColosseumBattleRestartRequest); + REGISTER(ColosseumBattleStartRequest); + REGISTER(ColosseumDeckEditRequest); + REGISTER(ColosseumFriendListRequest); + REGISTER(ColosseumGetRewardInfoRequest); + REGISTER(ColosseumRewardReceiptRequest); + REGISTER(FrontierGateContinueRequest); + REGISTER(FrontierGateEndRequest); + REGISTER(FrontierGateInfoRequest); + REGISTER(FrontierGateRankingRequest); + REGISTER(FrontierGateRestartRequest); + REGISTER(FrontierGateRetryRequest); + REGISTER(FrontierGateSaveRequest); + REGISTER(FrontierGateStartRequest); + REGISTER(MinigameCardEndRequest); + REGISTER(MinigameFriendListRequest); + REGISTER(MinigameNameEntryRequest); + REGISTER(MinigameRankingInfoRequest); + REGISTER(MinigameSmashEndRequest); + REGISTER(MinigameStartRequest); + REGISTER(RaidAgreementRequest); + REGISTER(RaidCampRestEndRequest); + REGISTER(RaidCampRestGetRequest); + REGISTER(RaidCampRestStartRequest); + REGISTER(RaidEnterRequest); + REGISTER(RaidExitRequest); + REGISTER(RaidFrlendSelectRequest); + REGISTER(RaidGetChatLogRequest); + REGISTER(RaidGetPlayerInfoRequest); + REGISTER(RaidItemDeleteRequest); + REGISTER(RaidItemEditRequest); + REGISTER(RaidItemMixRequest); + REGISTER(RaidLimitedUseItemRequest); + REGISTER(RaidMissionBattleEndRequest); + REGISTER(RaidMissionBattleRestartRequest); + REGISTER(RaidMissionBattleStartRequest); + REGISTER(RaidMissionEndRequest); + REGISTER(RaidMissionExitRequest); + REGISTER(RaidMissionHarvestRequest); + REGISTER(RaidMissionInfoLightRequest); + REGISTER(RaidMissionInfoRequest); + REGISTER(RaidMissionSelectRequest); + REGISTER(RaidMissionStartRequest); + REGISTER(RaidMissionUseItemRequest); + REGISTER(RaidQuickStartRequest); + REGISTER(RaidRoomDissolveRequest); + REGISTER(RaidRoomFriendGetRequest); + REGISTER(RaidRoomInfoRequest); + REGISTER(RaidRoomKickRequest); + REGISTER(RaidRoomListRequest); + REGISTER(RaidRoonItemEditRequest); + REGISTER(RaidSendChatRequest); + REGISTER(RaidShopUseRequest); + REGISTER(RaidUpDataRoomInfoRequest); + REGISTER(RaidUpDataUserReadyRequest); + REGISTER(RaidUpDateCashRequest); + REGISTER(RaidUpScenarioInfoRequest); + REGISTER(RaidUpdateBlackListRequest); + REGISTER(RaidUpdateProgressRequest); + REGISTER(RaidUserInfoRequest); + REGISTER(RaidWorloInfoRequest); + REGISTER(SlotActionRequest); + REGISTER(SummonerMixRequest); + REGISTER(SummonerSkillGetRequest); + REGISTER(UserSummonerInfoEditRequest); + REGISTER(FeSkillGetRequest); + REGISTER(CollabRewardRequest); + REGISTER(EventTokenExchangeInfoRequest); + REGISTER(EventTokenExchangePurchaseRequest); + REGISTER(EventTokenInfoRequest); + REGISTER(FGPlusGuildRankingRequest); + REGISTER(FGPlusGuildRewardClaimRequest); + REGISTER(GRGuardianDetail); + REGISTER(GachaActionRequest_SG); + REGISTER(GuildBattleScoreInfoRequest); + REGISTER(GuildBoardInfoRequest); + REGISTER(GuildBoardPostRequest); + REGISTER(GuildCreateRequest); + REGISTER(GuildDeckActivateRequest); + REGISTER(GuildDeckEditRequest); + REGISTER(GuildGuardianSummonContributeRequest); + REGISTER(GuildInfoRequest); + REGISTER(GuildInviteManageRequest); + REGISTER(GuildJoinRequest); + REGISTER(GuildJoinedListRequest); + REGISTER(GuildMemberGuildInfoRequest); + REGISTER(GuildMemberUpdateRequest); + REGISTER(GuildRaidBattleInfoRequest); + REGISTER(GuildRaidBattleLogListRequest); + REGISTER(GuildRaidBattleLogSetRequest); + REGISTER(GuildRaidBattleOutpostRelocateRequest); + REGISTER(GuildRaidBattleProgressRequest); + REGISTER(GuildRaidFriendSelectRequest); + REGISTER(GuildRaidGuardSetupRequest); + REGISTER(GuildRaidInfoRequest); + REGISTER(GuildRaidJoinRoomRequest); + REGISTER(GuildRaidMemberDeployRequest); + REGISTER(GuildRaidMissionBattleEndRequest); + REGISTER(GuildRaidMissionBattleStartRequest); + REGISTER(GuildRaidRankingResultRequest); + REGISTER(GuildRaidRoomBattleStartRequest); + REGISTER(GuildRaidRoomCreateRequest); + REGISTER(GuildRaidRoomInfoRequest); + REGISTER(GuildRaidRoomListRequest); + REGISTER(GuildRaidRoomMemberKickRequest); + REGISTER(GuildRaidRoomPartSkillSetRequest); + REGISTER(GuildRaidRoomPartSkillListRequest); + REGISTER(GuildRaidRoomUpdatedRequest); + REGISTER(GuildRankingDetailRequest); + REGISTER(GuildRankingRequest); + REGISTER(GuildPreviousRankingRequest); + REGISTER(GuildRecomendedMemberRequest); + REGISTER(GuildResearchInfoRequest); + REGISTER(GuildRoundBattleSummaryRequest); + REGISTER(GuildRoundSumarryRequest); + REGISTER(GuildSearchRequest); + REGISTER(GuildShopUseRequest); + REGISTER(GuildTradeRequest); + REGISTER(GuildUpdateRequest); + REGISTER(GuildUpgradeContRequest); + REGISTER(GuildUpgradeRequest); + REGISTER(GuilldBattleMoveRequest); + REGISTER(GuildCampRequest); + REGISTER(HomeInfoRequest); + REGISTER(InboxMessageManageRequest); + REGISTER(MultiGachaIapPurchaseIapRequest); + REGISTER(MysteryBoxClaimRequest); + REGISTER(MysteryBoxListRequest); + REGISTER(RaidFriendRemoveRequest); + REGISTER(SGChatLogInfoListRequest); + REGISTER(TutorialSkipRequest); + REGISTER(UnitOmniEvoRequest); + REGISTER(UserEnteredFeatureRequest); + REGISTER(UserGemShardInfoRequest); + REGISTER(UserLoginCampaignInfoRequest); + REGISTER(VideoAdCompleteRequest); + REGISTER(VideoAdSlotsClaimBonusRequest); + REGISTER(VideoAdSlotsCompleteRequest); + REGISTER(VideoAdSlotsStandInfoRefreshRequest); + REGISTER(VideoAdsSlotActionRequest); + REGISTER(DbbBondRequest); + REGISTER(UnitBondBoostRequest); + REGISTER(BannerClickRequest); + REGISTER(DailyLoginRequest); + REGISTER(UnitSelectorGachaTicketRequest); } diff --git a/gimuserver/gme/UserInfo.hpp b/gimuserver/gme/UserInfo.hpp index 952398c..dfa72e0 100644 --- a/gimuserver/gme/UserInfo.hpp +++ b/gimuserver/gme/UserInfo.hpp @@ -3,10 +3,19 @@ #include "response/UserInfo.hpp" #include "response/UserTeamInfo.hpp" -constexpr const auto HARDCODE_USERID = "0101AABB"; +// NOTE: HARDCODE_USERID ("0101AABB") has been removed. +// +// It was a dead placeholder from before any real user data existed. The Windows +// client generates its user ID from device hardware (e.g. "0839899613932562") +// and sends it as the 'ak' query parameter in HandleGuest. That ID is what +// actually exists in the users/userinfo/user_units tables. +// +// User resolution now happens in GmeController::ResolveUser() at startup, +// which queries the DB and caches the real ID in m_resolvedUserID. +// No compile-time constant is needed or appropriate here. struct UserInfo { - Response::UserInfo info; - Response::UserTeamInfo teamInfo; -}; + Response::UserInfo info; + Response::UserTeamInfo teamInfo; +}; \ No newline at end of file diff --git a/gimuserver/gme/handlers/AchievementAcceptRequestHandler.cpp b/gimuserver/gme/handlers/AchievementAcceptRequestHandler.cpp new file mode 100644 index 0000000..80466ce --- /dev/null +++ b/gimuserver/gme/handlers/AchievementAcceptRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "AchievementAcceptRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::AchievementAcceptRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/AchievementAcceptRequestHandler.hpp b/gimuserver/gme/handlers/AchievementAcceptRequestHandler.hpp new file mode 100644 index 0000000..7bf92ea --- /dev/null +++ b/gimuserver/gme/handlers/AchievementAcceptRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class AchievementAcceptRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "dx5qvm7L"; } + const char* GetAesKey() const override { return "g9N1y7bc"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/AchievementDeliverRequestHandler.cpp b/gimuserver/gme/handlers/AchievementDeliverRequestHandler.cpp new file mode 100644 index 0000000..83cdae2 --- /dev/null +++ b/gimuserver/gme/handlers/AchievementDeliverRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "AchievementDeliverRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::AchievementDeliverRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/AchievementDeliverRequestHandler.hpp b/gimuserver/gme/handlers/AchievementDeliverRequestHandler.hpp new file mode 100644 index 0000000..2842459 --- /dev/null +++ b/gimuserver/gme/handlers/AchievementDeliverRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class AchievementDeliverRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "vsaXI4M0"; } + const char* GetAesKey() const override { return "2Lj5hIEG"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/AchievementRewardReceiveRequestHandler.cpp b/gimuserver/gme/handlers/AchievementRewardReceiveRequestHandler.cpp new file mode 100644 index 0000000..7d26ec5 --- /dev/null +++ b/gimuserver/gme/handlers/AchievementRewardReceiveRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "AchievementRewardReceiveRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::AchievementRewardReceiveRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/AchievementRewardReceiveRequestHandler.hpp b/gimuserver/gme/handlers/AchievementRewardReceiveRequestHandler.hpp new file mode 100644 index 0000000..258a1a7 --- /dev/null +++ b/gimuserver/gme/handlers/AchievementRewardReceiveRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class AchievementRewardReceiveRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "uq69mTtR"; } + const char* GetAesKey() const override { return "cbE74zBZ"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/AchievementTradeRequestHandler.cpp b/gimuserver/gme/handlers/AchievementTradeRequestHandler.cpp new file mode 100644 index 0000000..07ca2d8 --- /dev/null +++ b/gimuserver/gme/handlers/AchievementTradeRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "AchievementTradeRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::AchievementTradeRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/AchievementTradeRequestHandler.hpp b/gimuserver/gme/handlers/AchievementTradeRequestHandler.hpp new file mode 100644 index 0000000..afd49ca --- /dev/null +++ b/gimuserver/gme/handlers/AchievementTradeRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class AchievementTradeRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "m9LiF6P2"; } + const char* GetAesKey() const override { return "0IWC9LVq"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/AreaRequestHandler.cpp b/gimuserver/gme/handlers/AreaRequestHandler.cpp new file mode 100644 index 0000000..78062dd --- /dev/null +++ b/gimuserver/gme/handlers/AreaRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "AreaRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::AreaRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/AreaRequestHandler.hpp b/gimuserver/gme/handlers/AreaRequestHandler.hpp new file mode 100644 index 0000000..5d5666b --- /dev/null +++ b/gimuserver/gme/handlers/AreaRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class AreaRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "Zds63G5y"; } + const char* GetAesKey() const override { return "YfAh7gqojdXEtFR1"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ArenaBattleEndRequestHandler.cpp b/gimuserver/gme/handlers/ArenaBattleEndRequestHandler.cpp new file mode 100644 index 0000000..35befcf --- /dev/null +++ b/gimuserver/gme/handlers/ArenaBattleEndRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ArenaBattleEndRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ArenaBattleEndRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ArenaBattleEndRequestHandler.hpp b/gimuserver/gme/handlers/ArenaBattleEndRequestHandler.hpp new file mode 100644 index 0000000..70a8983 --- /dev/null +++ b/gimuserver/gme/handlers/ArenaBattleEndRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ArenaBattleEndRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "oQNtKU51"; } + const char* GetAesKey() const override { return "jkgWq1d0"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ArenaBattleRestartRequestHandler.cpp b/gimuserver/gme/handlers/ArenaBattleRestartRequestHandler.cpp new file mode 100644 index 0000000..0e92fe2 --- /dev/null +++ b/gimuserver/gme/handlers/ArenaBattleRestartRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ArenaBattleRestartRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ArenaBattleRestartRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ArenaBattleRestartRequestHandler.hpp b/gimuserver/gme/handlers/ArenaBattleRestartRequestHandler.hpp new file mode 100644 index 0000000..422c9ed --- /dev/null +++ b/gimuserver/gme/handlers/ArenaBattleRestartRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ArenaBattleRestartRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "NPyXDgV9"; } + const char* GetAesKey() const override { return "sWofKGMl"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ArenaBattleStartRequestHandler.cpp b/gimuserver/gme/handlers/ArenaBattleStartRequestHandler.cpp new file mode 100644 index 0000000..03be44d --- /dev/null +++ b/gimuserver/gme/handlers/ArenaBattleStartRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ArenaBattleStartRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ArenaBattleStartRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ArenaBattleStartRequestHandler.hpp b/gimuserver/gme/handlers/ArenaBattleStartRequestHandler.hpp new file mode 100644 index 0000000..0516be5 --- /dev/null +++ b/gimuserver/gme/handlers/ArenaBattleStartRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ArenaBattleStartRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "7f1rg92L"; } + const char* GetAesKey() const override { return "zaMR9o0d"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ArenaFriendListRequestHandler.cpp b/gimuserver/gme/handlers/ArenaFriendListRequestHandler.cpp new file mode 100644 index 0000000..55b6e30 --- /dev/null +++ b/gimuserver/gme/handlers/ArenaFriendListRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ArenaFriendListRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ArenaFriendListRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ArenaFriendListRequestHandler.hpp b/gimuserver/gme/handlers/ArenaFriendListRequestHandler.hpp new file mode 100644 index 0000000..52f6132 --- /dev/null +++ b/gimuserver/gme/handlers/ArenaFriendListRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ArenaFriendListRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "xkd9H50w"; } + const char* GetAesKey() const override { return "L3TDhrn2"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ArenaInfoRequestHandler.cpp b/gimuserver/gme/handlers/ArenaInfoRequestHandler.cpp new file mode 100644 index 0000000..0a8008d --- /dev/null +++ b/gimuserver/gme/handlers/ArenaInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ArenaInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ArenaInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ArenaInfoRequestHandler.hpp b/gimuserver/gme/handlers/ArenaInfoRequestHandler.hpp new file mode 100644 index 0000000..1c413d2 --- /dev/null +++ b/gimuserver/gme/handlers/ArenaInfoRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ArenaInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "oim9TU1D"; } + const char* GetAesKey() const override { return "oqQxdFfa"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ArenaMatchingRequestHandler.cpp b/gimuserver/gme/handlers/ArenaMatchingRequestHandler.cpp new file mode 100644 index 0000000..80cee93 --- /dev/null +++ b/gimuserver/gme/handlers/ArenaMatchingRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ArenaMatchingRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ArenaMatchingRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ArenaMatchingRequestHandler.hpp b/gimuserver/gme/handlers/ArenaMatchingRequestHandler.hpp new file mode 100644 index 0000000..0dbc501 --- /dev/null +++ b/gimuserver/gme/handlers/ArenaMatchingRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ArenaMatchingRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "82ztj6Iy"; } + const char* GetAesKey() const override { return "Q53tUIBE"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ArenaRetireRequestHandler.cpp b/gimuserver/gme/handlers/ArenaRetireRequestHandler.cpp new file mode 100644 index 0000000..ff91cd6 --- /dev/null +++ b/gimuserver/gme/handlers/ArenaRetireRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ArenaRetireRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ArenaRetireRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ArenaRetireRequestHandler.hpp b/gimuserver/gme/handlers/ArenaRetireRequestHandler.hpp new file mode 100644 index 0000000..f5dccb1 --- /dev/null +++ b/gimuserver/gme/handlers/ArenaRetireRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ArenaRetireRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "eyg8sA32"; } + const char* GetAesKey() const override { return "93i8EbyM"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ArenaStartRequestHandler.cpp b/gimuserver/gme/handlers/ArenaStartRequestHandler.cpp new file mode 100644 index 0000000..60b3658 --- /dev/null +++ b/gimuserver/gme/handlers/ArenaStartRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ArenaStartRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ArenaStartRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ArenaStartRequestHandler.hpp b/gimuserver/gme/handlers/ArenaStartRequestHandler.hpp new file mode 100644 index 0000000..61d00d8 --- /dev/null +++ b/gimuserver/gme/handlers/ArenaStartRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ArenaStartRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "zu6ifpy0"; } + const char* GetAesKey() const override { return "bGjK4UH1"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/BadgeInfoHandler.cpp b/gimuserver/gme/handlers/BadgeInfoHandler.cpp deleted file mode 100644 index e402552..0000000 --- a/gimuserver/gme/handlers/BadgeInfoHandler.cpp +++ /dev/null @@ -1,10 +0,0 @@ -#include "BadgeInfoHandler.hpp" -#include "gme/response/BadgeInfo.hpp" - -void Handler::BadgeInfoHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const -{ - Json::Value res; - Response::BadgeInfo info; - info.Serialize(res); - cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); -} diff --git a/gimuserver/gme/handlers/BadgeInfoRequestHandler.cpp b/gimuserver/gme/handlers/BadgeInfoRequestHandler.cpp new file mode 100644 index 0000000..3429f24 --- /dev/null +++ b/gimuserver/gme/handlers/BadgeInfoRequestHandler.cpp @@ -0,0 +1,14 @@ +#include "BadgeInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" +#include "gme/response/BadgeInfo.hpp" + + +void Handler::BadgeInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + Response::BadgeInfo info; //How we parse in responses + info.Serialize(res); //and include it in the response + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/BadgeInfoHandler.hpp b/gimuserver/gme/handlers/BadgeInfoRequestHandler.hpp similarity index 85% rename from gimuserver/gme/handlers/BadgeInfoHandler.hpp rename to gimuserver/gme/handlers/BadgeInfoRequestHandler.hpp index c5c6e4d..46cd9ea 100644 --- a/gimuserver/gme/handlers/BadgeInfoHandler.hpp +++ b/gimuserver/gme/handlers/BadgeInfoRequestHandler.hpp @@ -3,11 +3,12 @@ #include "../GmeHandler.hpp" HANDLER_NS_BEGIN -class BadgeInfoHandler : public HandlerBase +class BadgeInfoRequestHandler : public HandlerBase { public: const char* GetGroupId() const override { return "nJ3A7qFp"; } const char* GetAesKey() const override { return "bGxX67KB"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; }; HANDLER_NS_END diff --git a/gimuserver/gme/handlers/BannerClickRequestHandler.cpp b/gimuserver/gme/handlers/BannerClickRequestHandler.cpp new file mode 100644 index 0000000..9110aa5 --- /dev/null +++ b/gimuserver/gme/handlers/BannerClickRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "BannerClickRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::BannerClickRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/BannerClickRequestHandler.hpp b/gimuserver/gme/handlers/BannerClickRequestHandler.hpp new file mode 100644 index 0000000..817cb31 --- /dev/null +++ b/gimuserver/gme/handlers/BannerClickRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class BannerClickRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "a5k36D28"; } + const char* GetAesKey() const override { return "a63Ghbi2"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/BundleCategoryRefreshRequestHandler.cpp b/gimuserver/gme/handlers/BundleCategoryRefreshRequestHandler.cpp new file mode 100644 index 0000000..53955e8 --- /dev/null +++ b/gimuserver/gme/handlers/BundleCategoryRefreshRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "BundleCategoryRefreshRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::BundleCategoryRefreshRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/BundleCategoryRefreshRequestHandler.hpp b/gimuserver/gme/handlers/BundleCategoryRefreshRequestHandler.hpp new file mode 100644 index 0000000..2216f45 --- /dev/null +++ b/gimuserver/gme/handlers/BundleCategoryRefreshRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class BundleCategoryRefreshRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "swarOb4u"; } + const char* GetAesKey() const override { return "GeJa9uTe"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/BundlePurchaseIapRequestHandler.cpp b/gimuserver/gme/handlers/BundlePurchaseIapRequestHandler.cpp new file mode 100644 index 0000000..66e3fcb --- /dev/null +++ b/gimuserver/gme/handlers/BundlePurchaseIapRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "BundlePurchaseIapRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::BundlePurchaseIapRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/BundlePurchaseIapRequestHandler.hpp b/gimuserver/gme/handlers/BundlePurchaseIapRequestHandler.hpp new file mode 100644 index 0000000..81dd11b --- /dev/null +++ b/gimuserver/gme/handlers/BundlePurchaseIapRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class BundlePurchaseIapRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "kD298bt6"; } + const char* GetAesKey() const override { return "u45Bi2p0"; } + // TODO: Response has 5 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/BundlePurchaseRequestHandler.cpp b/gimuserver/gme/handlers/BundlePurchaseRequestHandler.cpp new file mode 100644 index 0000000..ad93b8c --- /dev/null +++ b/gimuserver/gme/handlers/BundlePurchaseRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "BundlePurchaseRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::BundlePurchaseRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/BundlePurchaseRequestHandler.hpp b/gimuserver/gme/handlers/BundlePurchaseRequestHandler.hpp new file mode 100644 index 0000000..887c2cc --- /dev/null +++ b/gimuserver/gme/handlers/BundlePurchaseRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class BundlePurchaseRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "D3gyT3b3"; } + const char* GetAesKey() const override { return "a8pE3x39"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/BuyCoinRequestHandler.cpp b/gimuserver/gme/handlers/BuyCoinRequestHandler.cpp new file mode 100644 index 0000000..5186295 --- /dev/null +++ b/gimuserver/gme/handlers/BuyCoinRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "BuyCoinRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::BuyCoinRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/BuyCoinRequestHandler.hpp b/gimuserver/gme/handlers/BuyCoinRequestHandler.hpp new file mode 100644 index 0000000..4c4566b --- /dev/null +++ b/gimuserver/gme/handlers/BuyCoinRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class BuyCoinRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "9o3q7SjN"; } + const char* GetAesKey() const override { return "DCM60QNb"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/BuyCoinStartRequestHandler.cpp b/gimuserver/gme/handlers/BuyCoinStartRequestHandler.cpp new file mode 100644 index 0000000..890a707 --- /dev/null +++ b/gimuserver/gme/handlers/BuyCoinStartRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "BuyCoinStartRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::BuyCoinStartRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/BuyCoinStartRequestHandler.hpp b/gimuserver/gme/handlers/BuyCoinStartRequestHandler.hpp new file mode 100644 index 0000000..89b3453 --- /dev/null +++ b/gimuserver/gme/handlers/BuyCoinStartRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class BuyCoinStartRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "kJs6CQq1"; } + const char* GetAesKey() const override { return "J9P7Bmxa"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/CampaignBattleEndRequestHandler.cpp b/gimuserver/gme/handlers/CampaignBattleEndRequestHandler.cpp new file mode 100644 index 0000000..c4605ed --- /dev/null +++ b/gimuserver/gme/handlers/CampaignBattleEndRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "CampaignBattleEndRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::CampaignBattleEndRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/CampaignBattleEndRequestHandler.hpp b/gimuserver/gme/handlers/CampaignBattleEndRequestHandler.hpp new file mode 100644 index 0000000..a2a882a --- /dev/null +++ b/gimuserver/gme/handlers/CampaignBattleEndRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class CampaignBattleEndRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "pTNB6yw3"; } + const char* GetAesKey() const override { return "t06HFsXP"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/CampaignBattleStartRequestHandler.cpp b/gimuserver/gme/handlers/CampaignBattleStartRequestHandler.cpp new file mode 100644 index 0000000..95cd58b --- /dev/null +++ b/gimuserver/gme/handlers/CampaignBattleStartRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "CampaignBattleStartRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::CampaignBattleStartRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/CampaignBattleStartRequestHandler.hpp b/gimuserver/gme/handlers/CampaignBattleStartRequestHandler.hpp new file mode 100644 index 0000000..33f9ff7 --- /dev/null +++ b/gimuserver/gme/handlers/CampaignBattleStartRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class CampaignBattleStartRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "h1RjcD3S"; } + const char* GetAesKey() const override { return "4CKoVAq0"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/CampaignDeckEditRequestHandler.cpp b/gimuserver/gme/handlers/CampaignDeckEditRequestHandler.cpp new file mode 100644 index 0000000..98b5285 --- /dev/null +++ b/gimuserver/gme/handlers/CampaignDeckEditRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "CampaignDeckEditRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::CampaignDeckEditRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/CampaignDeckEditRequestHandler.hpp b/gimuserver/gme/handlers/CampaignDeckEditRequestHandler.hpp new file mode 100644 index 0000000..d97e288 --- /dev/null +++ b/gimuserver/gme/handlers/CampaignDeckEditRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class CampaignDeckEditRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "D74TYRf1"; } + const char* GetAesKey() const override { return "e2k4s6jc"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/CampaignDeckGetRequestHandler.cpp b/gimuserver/gme/handlers/CampaignDeckGetRequestHandler.cpp new file mode 100644 index 0000000..c5be138 --- /dev/null +++ b/gimuserver/gme/handlers/CampaignDeckGetRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "CampaignDeckGetRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::CampaignDeckGetRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/CampaignDeckGetRequestHandler.hpp b/gimuserver/gme/handlers/CampaignDeckGetRequestHandler.hpp new file mode 100644 index 0000000..b0b9d75 --- /dev/null +++ b/gimuserver/gme/handlers/CampaignDeckGetRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class CampaignDeckGetRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "C3a0VnQK"; } + const char* GetAesKey() const override { return "q2ZtYJ6P"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/CampaignEndRequestHandler.cpp b/gimuserver/gme/handlers/CampaignEndRequestHandler.cpp new file mode 100644 index 0000000..61e2231 --- /dev/null +++ b/gimuserver/gme/handlers/CampaignEndRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "CampaignEndRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::CampaignEndRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/CampaignEndRequestHandler.hpp b/gimuserver/gme/handlers/CampaignEndRequestHandler.hpp new file mode 100644 index 0000000..07b92b8 --- /dev/null +++ b/gimuserver/gme/handlers/CampaignEndRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class CampaignEndRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "jF9Kkro4"; } + const char* GetAesKey() const override { return "4X9tBSg8"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/CampaignItemEditRequestHandler.cpp b/gimuserver/gme/handlers/CampaignItemEditRequestHandler.cpp new file mode 100644 index 0000000..21ab4d3 --- /dev/null +++ b/gimuserver/gme/handlers/CampaignItemEditRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "CampaignItemEditRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::CampaignItemEditRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/CampaignItemEditRequestHandler.hpp b/gimuserver/gme/handlers/CampaignItemEditRequestHandler.hpp new file mode 100644 index 0000000..12e8f26 --- /dev/null +++ b/gimuserver/gme/handlers/CampaignItemEditRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class CampaignItemEditRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "W2VU91I7"; } + const char* GetAesKey() const override { return "2Jd10iwn"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/CampaignMissionGetRequestHandler.cpp b/gimuserver/gme/handlers/CampaignMissionGetRequestHandler.cpp new file mode 100644 index 0000000..682f23c --- /dev/null +++ b/gimuserver/gme/handlers/CampaignMissionGetRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "CampaignMissionGetRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::CampaignMissionGetRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/CampaignMissionGetRequestHandler.hpp b/gimuserver/gme/handlers/CampaignMissionGetRequestHandler.hpp new file mode 100644 index 0000000..8fc9536 --- /dev/null +++ b/gimuserver/gme/handlers/CampaignMissionGetRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class CampaignMissionGetRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "RSm6p2d4"; } + const char* GetAesKey() const override { return "5jzXN7AH"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/CampaignReceiptRequestHandler.cpp b/gimuserver/gme/handlers/CampaignReceiptRequestHandler.cpp new file mode 100644 index 0000000..de547e4 --- /dev/null +++ b/gimuserver/gme/handlers/CampaignReceiptRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "CampaignReceiptRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::CampaignReceiptRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/CampaignReceiptRequestHandler.hpp b/gimuserver/gme/handlers/CampaignReceiptRequestHandler.hpp new file mode 100644 index 0000000..aed66b7 --- /dev/null +++ b/gimuserver/gme/handlers/CampaignReceiptRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class CampaignReceiptRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "5Imq3wC0"; } + const char* GetAesKey() const override { return "4DAgP80B"; } + // TODO: Response has 1 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/CampaignRestartRequestHandler.cpp b/gimuserver/gme/handlers/CampaignRestartRequestHandler.cpp new file mode 100644 index 0000000..6c907d6 --- /dev/null +++ b/gimuserver/gme/handlers/CampaignRestartRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "CampaignRestartRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::CampaignRestartRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/CampaignRestartRequestHandler.hpp b/gimuserver/gme/handlers/CampaignRestartRequestHandler.hpp new file mode 100644 index 0000000..7483233 --- /dev/null +++ b/gimuserver/gme/handlers/CampaignRestartRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class CampaignRestartRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "Ht2jeWV8"; } + const char* GetAesKey() const override { return "vm7LYZz4"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/CampaignSaveRequestHandler.cpp b/gimuserver/gme/handlers/CampaignSaveRequestHandler.cpp new file mode 100644 index 0000000..9ad0eb1 --- /dev/null +++ b/gimuserver/gme/handlers/CampaignSaveRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "CampaignSaveRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::CampaignSaveRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/CampaignSaveRequestHandler.hpp b/gimuserver/gme/handlers/CampaignSaveRequestHandler.hpp new file mode 100644 index 0000000..84b9356 --- /dev/null +++ b/gimuserver/gme/handlers/CampaignSaveRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class CampaignSaveRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "Utzc3oj5"; } + const char* GetAesKey() const override { return "6xc3GhQF"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/CampaignStartRequestHandler.cpp b/gimuserver/gme/handlers/CampaignStartRequestHandler.cpp new file mode 100644 index 0000000..61af1d4 --- /dev/null +++ b/gimuserver/gme/handlers/CampaignStartRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "CampaignStartRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::CampaignStartRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/CampaignStartRequestHandler.hpp b/gimuserver/gme/handlers/CampaignStartRequestHandler.hpp new file mode 100644 index 0000000..44061c9 --- /dev/null +++ b/gimuserver/gme/handlers/CampaignStartRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class CampaignStartRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "6Y0gaPQN"; } + const char* GetAesKey() const override { return "WM6yr4ej"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ChallengeArenaBattleEndRequestHandler.cpp b/gimuserver/gme/handlers/ChallengeArenaBattleEndRequestHandler.cpp new file mode 100644 index 0000000..01de191 --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeArenaBattleEndRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ChallengeArenaBattleEndRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ChallengeArenaBattleEndRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ChallengeArenaBattleEndRequestHandler.hpp b/gimuserver/gme/handlers/ChallengeArenaBattleEndRequestHandler.hpp new file mode 100644 index 0000000..29dfe24 --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeArenaBattleEndRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ChallengeArenaBattleEndRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "syX20UG8"; } + const char* GetAesKey() const override { return "9xk0xi0Y"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ChallengeArenaBattleStartRequestHandler.cpp b/gimuserver/gme/handlers/ChallengeArenaBattleStartRequestHandler.cpp new file mode 100644 index 0000000..48a2776 --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeArenaBattleStartRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ChallengeArenaBattleStartRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ChallengeArenaBattleStartRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ChallengeArenaBattleStartRequestHandler.hpp b/gimuserver/gme/handlers/ChallengeArenaBattleStartRequestHandler.hpp new file mode 100644 index 0000000..f587d1e --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeArenaBattleStartRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ChallengeArenaBattleStartRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "rbOMSnba"; } + const char* GetAesKey() const override { return "iVvpULXG"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ChallengeArenaRankingRequestHandler.cpp b/gimuserver/gme/handlers/ChallengeArenaRankingRequestHandler.cpp new file mode 100644 index 0000000..233c81a --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeArenaRankingRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ChallengeArenaRankingRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ChallengeArenaRankingRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ChallengeArenaRankingRequestHandler.hpp b/gimuserver/gme/handlers/ChallengeArenaRankingRequestHandler.hpp new file mode 100644 index 0000000..65cec5c --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeArenaRankingRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ChallengeArenaRankingRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "L5LN9ytu"; } + const char* GetAesKey() const override { return "6gTFuTF9"; } + // TODO: Response has 9 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ChallengeArenaRankingRewardRequestHandler.cpp b/gimuserver/gme/handlers/ChallengeArenaRankingRewardRequestHandler.cpp new file mode 100644 index 0000000..3f1ed02 --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeArenaRankingRewardRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ChallengeArenaRankingRewardRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ChallengeArenaRankingRewardRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ChallengeArenaRankingRewardRequestHandler.hpp b/gimuserver/gme/handlers/ChallengeArenaRankingRewardRequestHandler.hpp new file mode 100644 index 0000000..9a8096b --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeArenaRankingRewardRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ChallengeArenaRankingRewardRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "tct1Jogs"; } + const char* GetAesKey() const override { return "RRxXMpzm"; } + // TODO: Response has 58 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ChallengeArenaResetInfoRequestHandler.cpp b/gimuserver/gme/handlers/ChallengeArenaResetInfoRequestHandler.cpp new file mode 100644 index 0000000..ee82451 --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeArenaResetInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ChallengeArenaResetInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ChallengeArenaResetInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ChallengeArenaResetInfoRequestHandler.hpp b/gimuserver/gme/handlers/ChallengeArenaResetInfoRequestHandler.hpp new file mode 100644 index 0000000..e6febfd --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeArenaResetInfoRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ChallengeArenaResetInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "Zw3WIoWu"; } + const char* GetAesKey() const override { return "KlwYMGF1"; } + // TODO: Response has 4 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ChallengeArenaShopAddItemRequestHandler.cpp b/gimuserver/gme/handlers/ChallengeArenaShopAddItemRequestHandler.cpp new file mode 100644 index 0000000..cc348c5 --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeArenaShopAddItemRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ChallengeArenaShopAddItemRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ChallengeArenaShopAddItemRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ChallengeArenaShopAddItemRequestHandler.hpp b/gimuserver/gme/handlers/ChallengeArenaShopAddItemRequestHandler.hpp new file mode 100644 index 0000000..d004a29 --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeArenaShopAddItemRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ChallengeArenaShopAddItemRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "jtzuog2S"; } + const char* GetAesKey() const override { return "xMcy25Tx"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ChallengeArenaShopInfoRequestHandler.cpp b/gimuserver/gme/handlers/ChallengeArenaShopInfoRequestHandler.cpp new file mode 100644 index 0000000..efff582 --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeArenaShopInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ChallengeArenaShopInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ChallengeArenaShopInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ChallengeArenaShopInfoRequestHandler.hpp b/gimuserver/gme/handlers/ChallengeArenaShopInfoRequestHandler.hpp new file mode 100644 index 0000000..74da990 --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeArenaShopInfoRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ChallengeArenaShopInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "xfmNcJVl"; } + const char* GetAesKey() const override { return "Fmv6wzeu"; } + // TODO: Response has 8 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ChallengeArenaStartRequestHandler.cpp b/gimuserver/gme/handlers/ChallengeArenaStartRequestHandler.cpp new file mode 100644 index 0000000..77a9525 --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeArenaStartRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ChallengeArenaStartRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ChallengeArenaStartRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ChallengeArenaStartRequestHandler.hpp b/gimuserver/gme/handlers/ChallengeArenaStartRequestHandler.hpp new file mode 100644 index 0000000..00c6fab --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeArenaStartRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ChallengeArenaStartRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "z44LyLr2"; } + const char* GetAesKey() const override { return "CC8rm3EJ"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ChallengeArenaTChestReceivedRequestHandler.cpp b/gimuserver/gme/handlers/ChallengeArenaTChestReceivedRequestHandler.cpp new file mode 100644 index 0000000..18e527f --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeArenaTChestReceivedRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ChallengeArenaTChestReceivedRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ChallengeArenaTChestReceivedRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ChallengeArenaTChestReceivedRequestHandler.hpp b/gimuserver/gme/handlers/ChallengeArenaTChestReceivedRequestHandler.hpp new file mode 100644 index 0000000..285b16a --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeArenaTChestReceivedRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ChallengeArenaTChestReceivedRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "xmzmjcxQ"; } + const char* GetAesKey() const override { return "L4W9YSex"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ChallengeArenaTeamEditRequestHandler.cpp b/gimuserver/gme/handlers/ChallengeArenaTeamEditRequestHandler.cpp new file mode 100644 index 0000000..a740ad1 --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeArenaTeamEditRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ChallengeArenaTeamEditRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ChallengeArenaTeamEditRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ChallengeArenaTeamEditRequestHandler.hpp b/gimuserver/gme/handlers/ChallengeArenaTeamEditRequestHandler.hpp new file mode 100644 index 0000000..180c0f4 --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeArenaTeamEditRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ChallengeArenaTeamEditRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "sXXX6Ec7"; } + const char* GetAesKey() const override { return "DcsPPuTG"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ChallengeBaseRequestHandler.cpp b/gimuserver/gme/handlers/ChallengeBaseRequestHandler.cpp new file mode 100644 index 0000000..1a55586 --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeBaseRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ChallengeBaseRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ChallengeBaseRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ChallengeBaseRequestHandler.hpp b/gimuserver/gme/handlers/ChallengeBaseRequestHandler.hpp new file mode 100644 index 0000000..11bd333 --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeBaseRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ChallengeBaseRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "nUAW2B0a"; } + const char* GetAesKey() const override { return "uE5Tsv6P"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ChallengeMissionStartRequestHandler.cpp b/gimuserver/gme/handlers/ChallengeMissionStartRequestHandler.cpp new file mode 100644 index 0000000..83c5b0a --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeMissionStartRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ChallengeMissionStartRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ChallengeMissionStartRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ChallengeMissionStartRequestHandler.hpp b/gimuserver/gme/handlers/ChallengeMissionStartRequestHandler.hpp new file mode 100644 index 0000000..04fb6d3 --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeMissionStartRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ChallengeMissionStartRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "t5wfpZ32"; } + const char* GetAesKey() const override { return "YSVD0n9K"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ChallengeRankRewardRequestHandler.cpp b/gimuserver/gme/handlers/ChallengeRankRewardRequestHandler.cpp new file mode 100644 index 0000000..12715f7 --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeRankRewardRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ChallengeRankRewardRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ChallengeRankRewardRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ChallengeRankRewardRequestHandler.hpp b/gimuserver/gme/handlers/ChallengeRankRewardRequestHandler.hpp new file mode 100644 index 0000000..7678a7f --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeRankRewardRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ChallengeRankRewardRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "m3fr7vxo"; } + const char* GetAesKey() const override { return "4BuRdgr2"; } + // TODO: Response has 9 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ChallengeRankingRequestHandler.cpp b/gimuserver/gme/handlers/ChallengeRankingRequestHandler.cpp new file mode 100644 index 0000000..b9df521 --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeRankingRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ChallengeRankingRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ChallengeRankingRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ChallengeRankingRequestHandler.hpp b/gimuserver/gme/handlers/ChallengeRankingRequestHandler.hpp new file mode 100644 index 0000000..b504d9d --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeRankingRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ChallengeRankingRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "2Kxi7rIB"; } + const char* GetAesKey() const override { return "v1PzNE9f"; } + // TODO: Response has 18 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ChallengeStartRequestHandler.cpp b/gimuserver/gme/handlers/ChallengeStartRequestHandler.cpp new file mode 100644 index 0000000..3c7c960 --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeStartRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ChallengeStartRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ChallengeStartRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ChallengeStartRequestHandler.hpp b/gimuserver/gme/handlers/ChallengeStartRequestHandler.hpp new file mode 100644 index 0000000..227f25a --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeStartRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ChallengeStartRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "sQfU18kH"; } + const char* GetAesKey() const override { return "m4sdYv9e"; } + // TODO: Response has 1 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ChallengeUserInfoRequestHandler.cpp b/gimuserver/gme/handlers/ChallengeUserInfoRequestHandler.cpp new file mode 100644 index 0000000..613467b --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeUserInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ChallengeUserInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ChallengeUserInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ChallengeUserInfoRequestHandler.hpp b/gimuserver/gme/handlers/ChallengeUserInfoRequestHandler.hpp new file mode 100644 index 0000000..34b39e9 --- /dev/null +++ b/gimuserver/gme/handlers/ChallengeUserInfoRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ChallengeUserInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "jF3AS4cp"; } + const char* GetAesKey() const override { return "Nst6MK5m"; } + // TODO: Response has 8 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ChronologyRequestHandler.cpp b/gimuserver/gme/handlers/ChronologyRequestHandler.cpp new file mode 100644 index 0000000..757d2bf --- /dev/null +++ b/gimuserver/gme/handlers/ChronologyRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ChronologyRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ChronologyRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ChronologyRequestHandler.hpp b/gimuserver/gme/handlers/ChronologyRequestHandler.hpp new file mode 100644 index 0000000..024c3e4 --- /dev/null +++ b/gimuserver/gme/handlers/ChronologyRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ChronologyRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "5o8ZlDGX"; } + const char* GetAesKey() const override { return "SNrhAG29"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/CollabRewardRequestHandler.cpp b/gimuserver/gme/handlers/CollabRewardRequestHandler.cpp new file mode 100644 index 0000000..7141b8e --- /dev/null +++ b/gimuserver/gme/handlers/CollabRewardRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "CollabRewardRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::CollabRewardRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/CollabRewardRequestHandler.hpp b/gimuserver/gme/handlers/CollabRewardRequestHandler.hpp new file mode 100644 index 0000000..50d8e99 --- /dev/null +++ b/gimuserver/gme/handlers/CollabRewardRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class CollabRewardRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "4aL5upiU"; } + const char* GetAesKey() const override { return "2a4MeshE"; } + // TODO: Response has 2 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ColosseumBattleEndRequestHandler.cpp b/gimuserver/gme/handlers/ColosseumBattleEndRequestHandler.cpp new file mode 100644 index 0000000..30968ec --- /dev/null +++ b/gimuserver/gme/handlers/ColosseumBattleEndRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ColosseumBattleEndRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ColosseumBattleEndRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ColosseumBattleEndRequestHandler.hpp b/gimuserver/gme/handlers/ColosseumBattleEndRequestHandler.hpp new file mode 100644 index 0000000..960cb63 --- /dev/null +++ b/gimuserver/gme/handlers/ColosseumBattleEndRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ColosseumBattleEndRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "fGDPoQI3"; } + const char* GetAesKey() const override { return "4V6oIoRC"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ColosseumBattleRestartRequestHandler.cpp b/gimuserver/gme/handlers/ColosseumBattleRestartRequestHandler.cpp new file mode 100644 index 0000000..84ec6aa --- /dev/null +++ b/gimuserver/gme/handlers/ColosseumBattleRestartRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ColosseumBattleRestartRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ColosseumBattleRestartRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ColosseumBattleRestartRequestHandler.hpp b/gimuserver/gme/handlers/ColosseumBattleRestartRequestHandler.hpp new file mode 100644 index 0000000..d4c9de5 --- /dev/null +++ b/gimuserver/gme/handlers/ColosseumBattleRestartRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ColosseumBattleRestartRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "ohH9lfDE"; } + const char* GetAesKey() const override { return "j2bFgyri"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ColosseumBattleStartRequestHandler.cpp b/gimuserver/gme/handlers/ColosseumBattleStartRequestHandler.cpp new file mode 100644 index 0000000..236a6b4 --- /dev/null +++ b/gimuserver/gme/handlers/ColosseumBattleStartRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ColosseumBattleStartRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ColosseumBattleStartRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ColosseumBattleStartRequestHandler.hpp b/gimuserver/gme/handlers/ColosseumBattleStartRequestHandler.hpp new file mode 100644 index 0000000..4b34935 --- /dev/null +++ b/gimuserver/gme/handlers/ColosseumBattleStartRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ColosseumBattleStartRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "ysP6qYcy"; } + const char* GetAesKey() const override { return "iFIHAT5V"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ColosseumDeckEditRequestHandler.cpp b/gimuserver/gme/handlers/ColosseumDeckEditRequestHandler.cpp new file mode 100644 index 0000000..949ecd3 --- /dev/null +++ b/gimuserver/gme/handlers/ColosseumDeckEditRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ColosseumDeckEditRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ColosseumDeckEditRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ColosseumDeckEditRequestHandler.hpp b/gimuserver/gme/handlers/ColosseumDeckEditRequestHandler.hpp new file mode 100644 index 0000000..3e47ba4 --- /dev/null +++ b/gimuserver/gme/handlers/ColosseumDeckEditRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ColosseumDeckEditRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "rdZbaKBG"; } + const char* GetAesKey() const override { return "gY3YK5bD"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ColosseumFriendListRequestHandler.cpp b/gimuserver/gme/handlers/ColosseumFriendListRequestHandler.cpp new file mode 100644 index 0000000..4268f87 --- /dev/null +++ b/gimuserver/gme/handlers/ColosseumFriendListRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ColosseumFriendListRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ColosseumFriendListRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ColosseumFriendListRequestHandler.hpp b/gimuserver/gme/handlers/ColosseumFriendListRequestHandler.hpp new file mode 100644 index 0000000..600ab27 --- /dev/null +++ b/gimuserver/gme/handlers/ColosseumFriendListRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ColosseumFriendListRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "AoBvG2YN"; } + const char* GetAesKey() const override { return "Wj5fH1HV"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ColosseumGetRewardInfoRequestHandler.cpp b/gimuserver/gme/handlers/ColosseumGetRewardInfoRequestHandler.cpp new file mode 100644 index 0000000..69ec413 --- /dev/null +++ b/gimuserver/gme/handlers/ColosseumGetRewardInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ColosseumGetRewardInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ColosseumGetRewardInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ColosseumGetRewardInfoRequestHandler.hpp b/gimuserver/gme/handlers/ColosseumGetRewardInfoRequestHandler.hpp new file mode 100644 index 0000000..94d1442 --- /dev/null +++ b/gimuserver/gme/handlers/ColosseumGetRewardInfoRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ColosseumGetRewardInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "jv0dI88o"; } + const char* GetAesKey() const override { return "d7aPxZWw"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ColosseumRewardReceiptRequestHandler.cpp b/gimuserver/gme/handlers/ColosseumRewardReceiptRequestHandler.cpp new file mode 100644 index 0000000..8f7a1a9 --- /dev/null +++ b/gimuserver/gme/handlers/ColosseumRewardReceiptRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ColosseumRewardReceiptRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ColosseumRewardReceiptRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ColosseumRewardReceiptRequestHandler.hpp b/gimuserver/gme/handlers/ColosseumRewardReceiptRequestHandler.hpp new file mode 100644 index 0000000..65444cc --- /dev/null +++ b/gimuserver/gme/handlers/ColosseumRewardReceiptRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ColosseumRewardReceiptRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "PN5CVaWy"; } + const char* GetAesKey() const override { return "YBgVBy5A"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ControlCenterEnterHandler.cpp b/gimuserver/gme/handlers/ControlCenterEnterHandler.cpp deleted file mode 100644 index 4bccae4..0000000 --- a/gimuserver/gme/handlers/ControlCenterEnterHandler.cpp +++ /dev/null @@ -1,61 +0,0 @@ -#include "ControlCenterEnterHandler.hpp" -#include "gme/response/SlotGameInfo_Resp.hpp" - -void Handler::ControlCenterEnterHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const -{ - Json::Value res; - user.teamInfo.Serialize(res); - Response::SlotGameInfoR r; - r.info.id = 1; - r.info.name = "Brave Slots"; - r.info.reelPos = "1,2,3"; - r.info.useMedal = 1; - r.info.slotHelpUrl = "/bf/web/slots/html/index.php"; - r.info.slotImage = "slot_base.png,slot_btn_on.png,slot_label_start.png,slot_medal_insert.png,slot_medal.png,item_large.png,bravemedal_large.png,sphere_large.png"; - Response::SlotGamePictureInfo::Data d; - d.id = 81; - d.pictureName = "j_god.png"; - r.pictures.Mst.emplace_back(d); - d.id = 1; - d.pictureName = "s_flog.png"; - r.pictures.Mst.emplace_back(d); - d.id = 7; - d.pictureName = "allup_unit.png"; - r.pictures.Mst.emplace_back(d); - d.id = 2; - d.pictureName = "b_flog.png"; - r.pictures.Mst.emplace_back(d); - d.id = 8; - d.pictureName = "c_god.png"; - r.pictures.Mst.emplace_back(d); - d.id = 6; - d.pictureName = "pup_unit.png"; - r.pictures.Mst.emplace_back(d); - d.id = 3; - d.pictureName = "b_emperor.png"; - r.pictures.Mst.emplace_back(d); - d.id = 18; - d.pictureName = "sphere.png"; - r.pictures.Mst.emplace_back(d); - d.id = 9; - d.pictureName = "g_god.png"; - r.pictures.Mst.emplace_back(d); - d.id = 80; - d.pictureName = "m_god.png"; - r.pictures.Mst.emplace_back(d); - d.id = 13; - d.pictureName = "item.png"; - r.pictures.Mst.emplace_back(d); - d.id = 12; - d.pictureName = "item.png"; - r.pictures.Mst.emplace_back(d); - d.id = 15; - d.pictureName = "item.png"; - r.pictures.Mst.emplace_back(d); - d.id = 82; - d.pictureName = "medal.png"; - r.pictures.Mst.emplace_back(d); - r.Serialize(res); - - cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); -} diff --git a/gimuserver/gme/handlers/ControlCenterEnterRequestHandler.cpp b/gimuserver/gme/handlers/ControlCenterEnterRequestHandler.cpp new file mode 100644 index 0000000..61545d0 --- /dev/null +++ b/gimuserver/gme/handlers/ControlCenterEnterRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ControlCenterEnterRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ControlCenterEnterRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ControlCenterEnterHandler.hpp b/gimuserver/gme/handlers/ControlCenterEnterRequestHandler.hpp similarity index 83% rename from gimuserver/gme/handlers/ControlCenterEnterHandler.hpp rename to gimuserver/gme/handlers/ControlCenterEnterRequestHandler.hpp index be804e1..336778e 100644 --- a/gimuserver/gme/handlers/ControlCenterEnterHandler.hpp +++ b/gimuserver/gme/handlers/ControlCenterEnterRequestHandler.hpp @@ -3,7 +3,7 @@ #include "../GmeHandler.hpp" HANDLER_NS_BEGIN -class ControlCenterEnterHandler : public HandlerBase +class ControlCenterEnterRequestHandler : public HandlerBase { public: const char* GetGroupId() const override { return "uYF93Mhc"; } diff --git a/gimuserver/gme/handlers/CreateUserRequestHandler.cpp b/gimuserver/gme/handlers/CreateUserRequestHandler.cpp new file mode 100644 index 0000000..4ad9087 --- /dev/null +++ b/gimuserver/gme/handlers/CreateUserRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "CreateUserRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::CreateUserRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/CreateUserRequestHandler.hpp b/gimuserver/gme/handlers/CreateUserRequestHandler.hpp new file mode 100644 index 0000000..c7b3184 --- /dev/null +++ b/gimuserver/gme/handlers/CreateUserRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class CreateUserRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "uV6yH5MX"; } + const char* GetAesKey() const override { return "4agnATy2DrJsWzQk"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/DailyLoginRequestHandler.cpp b/gimuserver/gme/handlers/DailyLoginRequestHandler.cpp new file mode 100644 index 0000000..ebbc1b2 --- /dev/null +++ b/gimuserver/gme/handlers/DailyLoginRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "DailyLoginRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::DailyLoginRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/DailyLoginRequestHandler.hpp b/gimuserver/gme/handlers/DailyLoginRequestHandler.hpp new file mode 100644 index 0000000..b67f70a --- /dev/null +++ b/gimuserver/gme/handlers/DailyLoginRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class DailyLoginRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "4aClzokO"; } + const char* GetAesKey() const override { return "stI81haQ"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/DailyRewardClaimRequestHandler.cpp b/gimuserver/gme/handlers/DailyRewardClaimRequestHandler.cpp new file mode 100644 index 0000000..4c4b672 --- /dev/null +++ b/gimuserver/gme/handlers/DailyRewardClaimRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "DailyRewardClaimRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::DailyRewardClaimRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/DailyRewardClaimRequestHandler.hpp b/gimuserver/gme/handlers/DailyRewardClaimRequestHandler.hpp new file mode 100644 index 0000000..63d6ee0 --- /dev/null +++ b/gimuserver/gme/handlers/DailyRewardClaimRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class DailyRewardClaimRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "AT_DAILY_REWARD"; } + const char* GetAesKey() const override { return "ATK_DAILY_REWARD"; } + // TODO: Response has 1 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/DailyTaskClaimRewardRequestHandler.cpp b/gimuserver/gme/handlers/DailyTaskClaimRewardRequestHandler.cpp new file mode 100644 index 0000000..24d7fde --- /dev/null +++ b/gimuserver/gme/handlers/DailyTaskClaimRewardRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "DailyTaskClaimRewardRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::DailyTaskClaimRewardRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/DailyTaskClaimRewardRequestHandler.hpp b/gimuserver/gme/handlers/DailyTaskClaimRewardRequestHandler.hpp new file mode 100644 index 0000000..99e75d9 --- /dev/null +++ b/gimuserver/gme/handlers/DailyTaskClaimRewardRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class DailyTaskClaimRewardRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "oP3bn47e"; } + const char* GetAesKey() const override { return "ut0j9h3K"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/DailyTaskUserInfoRequestHandler.cpp b/gimuserver/gme/handlers/DailyTaskUserInfoRequestHandler.cpp new file mode 100644 index 0000000..efceae6 --- /dev/null +++ b/gimuserver/gme/handlers/DailyTaskUserInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "DailyTaskUserInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::DailyTaskUserInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/DailyTaskUserInfoRequestHandler.hpp b/gimuserver/gme/handlers/DailyTaskUserInfoRequestHandler.hpp new file mode 100644 index 0000000..be53bbc --- /dev/null +++ b/gimuserver/gme/handlers/DailyTaskUserInfoRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class DailyTaskUserInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "m7g0Ekb5"; } + const char* GetAesKey() const override { return "Hd8c3Y6"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/DbbBondRequestHandler.cpp b/gimuserver/gme/handlers/DbbBondRequestHandler.cpp new file mode 100644 index 0000000..be81b46 --- /dev/null +++ b/gimuserver/gme/handlers/DbbBondRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "DbbBondRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::DbbBondRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/DbbBondRequestHandler.hpp b/gimuserver/gme/handlers/DbbBondRequestHandler.hpp new file mode 100644 index 0000000..a889bad --- /dev/null +++ b/gimuserver/gme/handlers/DbbBondRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class DbbBondRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "0EtanubR"; } + const char* GetAesKey() const override { return "Tr7dR4dR"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/DebugUpdateRequestHandler.cpp b/gimuserver/gme/handlers/DebugUpdateRequestHandler.cpp new file mode 100644 index 0000000..b81be86 --- /dev/null +++ b/gimuserver/gme/handlers/DebugUpdateRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "DebugUpdateRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::DebugUpdateRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/DebugUpdateRequestHandler.hpp b/gimuserver/gme/handlers/DebugUpdateRequestHandler.hpp new file mode 100644 index 0000000..8fa5e0b --- /dev/null +++ b/gimuserver/gme/handlers/DebugUpdateRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class DebugUpdateRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "Zr37LHNE"; } + const char* GetAesKey() const override { return "N1kSz2fr"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/DeckEditHandler.cpp b/gimuserver/gme/handlers/DeckEditRequestHandler.cpp similarity index 69% rename from gimuserver/gme/handlers/DeckEditHandler.cpp rename to gimuserver/gme/handlers/DeckEditRequestHandler.cpp index 64114f8..c7faa4f 100644 --- a/gimuserver/gme/handlers/DeckEditHandler.cpp +++ b/gimuserver/gme/handlers/DeckEditRequestHandler.cpp @@ -1,12 +1,13 @@ -#include "DeckEditHandler.hpp" -#include "core/System.hpp" +#include "DeckEditRequestHandler.hpp" #include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" #include "gme/response/NoticeInfo.hpp" -void Handler::DeckEditHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +void Handler::DeckEditRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const { Json::Value res; - + { Response::SignalKey v; v.key = "fZnLr4t9"; @@ -21,6 +22,6 @@ void Handler::DeckEditHandler::Handle(UserInfo& user, DrogonCallback cb, const J v.url = System::Instance().ServerConfig().NoticeUrl; v.Serialize(res); } - + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); } diff --git a/gimuserver/gme/handlers/DeckEditHandler.hpp b/gimuserver/gme/handlers/DeckEditRequestHandler.hpp similarity index 85% rename from gimuserver/gme/handlers/DeckEditHandler.hpp rename to gimuserver/gme/handlers/DeckEditRequestHandler.hpp index 76d5de3..68b46ea 100644 --- a/gimuserver/gme/handlers/DeckEditHandler.hpp +++ b/gimuserver/gme/handlers/DeckEditRequestHandler.hpp @@ -3,7 +3,7 @@ #include "../GmeHandler.hpp" HANDLER_NS_BEGIN -class DeckEditHandler : public HandlerBase +class DeckEditRequestHandler : public HandlerBase { public: const char* GetGroupId() const override { return "m2Ve9PkJ"; } diff --git a/gimuserver/gme/handlers/DungeonEventUpdateRequestHandler.cpp b/gimuserver/gme/handlers/DungeonEventUpdateRequestHandler.cpp new file mode 100644 index 0000000..83c2c09 --- /dev/null +++ b/gimuserver/gme/handlers/DungeonEventUpdateRequestHandler.cpp @@ -0,0 +1,13 @@ +#include "DungeonEventUpdateRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::DungeonEventUpdateRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + //TODO: SQL modifications /actionSymbol/4iqcLm1s.php + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/DungeonEventUpdateRequestHandler.hpp b/gimuserver/gme/handlers/DungeonEventUpdateRequestHandler.hpp new file mode 100644 index 0000000..3cbb80f --- /dev/null +++ b/gimuserver/gme/handlers/DungeonEventUpdateRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class DungeonEventUpdateRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "BjAt1D6b"; } + const char* GetAesKey() const override { return "k5EiNe9x"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/DungeonKeyReceiptRequestHandler.cpp b/gimuserver/gme/handlers/DungeonKeyReceiptRequestHandler.cpp new file mode 100644 index 0000000..a8db556 --- /dev/null +++ b/gimuserver/gme/handlers/DungeonKeyReceiptRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "DungeonKeyReceiptRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::DungeonKeyReceiptRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/DungeonKeyReceiptRequestHandler.hpp b/gimuserver/gme/handlers/DungeonKeyReceiptRequestHandler.hpp new file mode 100644 index 0000000..95e8d10 --- /dev/null +++ b/gimuserver/gme/handlers/DungeonKeyReceiptRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class DungeonKeyReceiptRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "WCJE0xe2"; } + const char* GetAesKey() const override { return "V4pfQo5C"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/DungeonKeyUseRequestHandler.cpp b/gimuserver/gme/handlers/DungeonKeyUseRequestHandler.cpp new file mode 100644 index 0000000..99b56fc --- /dev/null +++ b/gimuserver/gme/handlers/DungeonKeyUseRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "DungeonKeyUseRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::DungeonKeyUseRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/DungeonKeyUseRequestHandler.hpp b/gimuserver/gme/handlers/DungeonKeyUseRequestHandler.hpp new file mode 100644 index 0000000..a33a946 --- /dev/null +++ b/gimuserver/gme/handlers/DungeonKeyUseRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class DungeonKeyUseRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "aGT5S6qZ"; } + const char* GetAesKey() const override { return "3rPx6tTw"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/EventTokenExchangeInfoRequestHandler.cpp b/gimuserver/gme/handlers/EventTokenExchangeInfoRequestHandler.cpp new file mode 100644 index 0000000..c907058 --- /dev/null +++ b/gimuserver/gme/handlers/EventTokenExchangeInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "EventTokenExchangeInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::EventTokenExchangeInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/EventTokenExchangeInfoRequestHandler.hpp b/gimuserver/gme/handlers/EventTokenExchangeInfoRequestHandler.hpp new file mode 100644 index 0000000..81a443d --- /dev/null +++ b/gimuserver/gme/handlers/EventTokenExchangeInfoRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class EventTokenExchangeInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "49zxdfl3"; } + const char* GetAesKey() const override { return "v2DfDSFl"; } + // TODO: Response has 8 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/EventTokenExchangePurchaseRequestHandler.cpp b/gimuserver/gme/handlers/EventTokenExchangePurchaseRequestHandler.cpp new file mode 100644 index 0000000..0c2799e --- /dev/null +++ b/gimuserver/gme/handlers/EventTokenExchangePurchaseRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "EventTokenExchangePurchaseRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::EventTokenExchangePurchaseRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/EventTokenExchangePurchaseRequestHandler.hpp b/gimuserver/gme/handlers/EventTokenExchangePurchaseRequestHandler.hpp new file mode 100644 index 0000000..e741848 --- /dev/null +++ b/gimuserver/gme/handlers/EventTokenExchangePurchaseRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class EventTokenExchangePurchaseRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "SLf48fs0"; } + const char* GetAesKey() const override { return "Odiel30s"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/EventTokenInfoRequestHandler.cpp b/gimuserver/gme/handlers/EventTokenInfoRequestHandler.cpp new file mode 100644 index 0000000..9ffc71d --- /dev/null +++ b/gimuserver/gme/handlers/EventTokenInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "EventTokenInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::EventTokenInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/EventTokenInfoRequestHandler.hpp b/gimuserver/gme/handlers/EventTokenInfoRequestHandler.hpp new file mode 100644 index 0000000..bb5cd10 --- /dev/null +++ b/gimuserver/gme/handlers/EventTokenInfoRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class EventTokenInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "f49als4D"; } + const char* GetAesKey() const override { return "94lDsgh4"; } + // TODO: Response has 7 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/FGPlusGuildRankingRequestHandler.cpp b/gimuserver/gme/handlers/FGPlusGuildRankingRequestHandler.cpp new file mode 100644 index 0000000..6443748 --- /dev/null +++ b/gimuserver/gme/handlers/FGPlusGuildRankingRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "FGPlusGuildRankingRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::FGPlusGuildRankingRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/FGPlusGuildRankingRequestHandler.hpp b/gimuserver/gme/handlers/FGPlusGuildRankingRequestHandler.hpp new file mode 100644 index 0000000..954bfb9 --- /dev/null +++ b/gimuserver/gme/handlers/FGPlusGuildRankingRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class FGPlusGuildRankingRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "7umuchUg"; } + const char* GetAesKey() const override { return "sWup7ehu"; } + // TODO: Response has 4 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/FGPlusGuildRewardClaimRequestHandler.cpp b/gimuserver/gme/handlers/FGPlusGuildRewardClaimRequestHandler.cpp new file mode 100644 index 0000000..215d943 --- /dev/null +++ b/gimuserver/gme/handlers/FGPlusGuildRewardClaimRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "FGPlusGuildRewardClaimRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::FGPlusGuildRewardClaimRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/FGPlusGuildRewardClaimRequestHandler.hpp b/gimuserver/gme/handlers/FGPlusGuildRewardClaimRequestHandler.hpp new file mode 100644 index 0000000..1c4bfad --- /dev/null +++ b/gimuserver/gme/handlers/FGPlusGuildRewardClaimRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class FGPlusGuildRewardClaimRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "Sp7umiaY"; } + const char* GetAesKey() const override { return "thIUXiu5"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/FeSkillGetRequestHandler.cpp b/gimuserver/gme/handlers/FeSkillGetRequestHandler.cpp new file mode 100644 index 0000000..01b9f6d --- /dev/null +++ b/gimuserver/gme/handlers/FeSkillGetRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "FeSkillGetRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::FeSkillGetRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/FeSkillGetRequestHandler.hpp b/gimuserver/gme/handlers/FeSkillGetRequestHandler.hpp new file mode 100644 index 0000000..7c9834c --- /dev/null +++ b/gimuserver/gme/handlers/FeSkillGetRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class FeSkillGetRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "nSQxNOeL"; } + const char* GetAesKey() const override { return "nZ2bVoWu"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/FixGiftInfoRequestHandler.cpp b/gimuserver/gme/handlers/FixGiftInfoRequestHandler.cpp new file mode 100644 index 0000000..97a57f6 --- /dev/null +++ b/gimuserver/gme/handlers/FixGiftInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "FixGiftInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::FixGiftInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/FixGiftInfoRequestHandler.hpp b/gimuserver/gme/handlers/FixGiftInfoRequestHandler.hpp new file mode 100644 index 0000000..918e58c --- /dev/null +++ b/gimuserver/gme/handlers/FixGiftInfoRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class FixGiftInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "gLRIn74v"; } + const char* GetAesKey() const override { return "15gTE9ft"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/FriendAgreeRequestHandler.cpp b/gimuserver/gme/handlers/FriendAgreeRequestHandler.cpp new file mode 100644 index 0000000..8eff59a --- /dev/null +++ b/gimuserver/gme/handlers/FriendAgreeRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "FriendAgreeRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::FriendAgreeRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/FriendAgreeRequestHandler.hpp b/gimuserver/gme/handlers/FriendAgreeRequestHandler.hpp new file mode 100644 index 0000000..e983245 --- /dev/null +++ b/gimuserver/gme/handlers/FriendAgreeRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class FriendAgreeRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "NYKBH4V6"; } + const char* GetAesKey() const override { return "8PFVDiUIZyES2vzR"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/FriendApplyRequestHandler.cpp b/gimuserver/gme/handlers/FriendApplyRequestHandler.cpp new file mode 100644 index 0000000..b4c08c4 --- /dev/null +++ b/gimuserver/gme/handlers/FriendApplyRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "FriendApplyRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::FriendApplyRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/FriendApplyRequestHandler.hpp b/gimuserver/gme/handlers/FriendApplyRequestHandler.hpp new file mode 100644 index 0000000..c5e289e --- /dev/null +++ b/gimuserver/gme/handlers/FriendApplyRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class FriendApplyRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "WUNi08YL"; } + const char* GetAesKey() const override { return "gbpdAEZuv8IP40UF"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/FriendDeleteRequestHandler.cpp b/gimuserver/gme/handlers/FriendDeleteRequestHandler.cpp new file mode 100644 index 0000000..7b8c1e4 --- /dev/null +++ b/gimuserver/gme/handlers/FriendDeleteRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "FriendDeleteRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::FriendDeleteRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/FriendDeleteRequestHandler.hpp b/gimuserver/gme/handlers/FriendDeleteRequestHandler.hpp new file mode 100644 index 0000000..da7aa92 --- /dev/null +++ b/gimuserver/gme/handlers/FriendDeleteRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class FriendDeleteRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "SfMN9w4p"; } + const char* GetAesKey() const override { return "yWXI80UKQNBZFozw"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/FriendFavoriteRequestHandler.cpp b/gimuserver/gme/handlers/FriendFavoriteRequestHandler.cpp new file mode 100644 index 0000000..7b34120 --- /dev/null +++ b/gimuserver/gme/handlers/FriendFavoriteRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "FriendFavoriteRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::FriendFavoriteRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/FriendFavoriteRequestHandler.hpp b/gimuserver/gme/handlers/FriendFavoriteRequestHandler.hpp new file mode 100644 index 0000000..ce78c26 --- /dev/null +++ b/gimuserver/gme/handlers/FriendFavoriteRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class FriendFavoriteRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "ps6Vgx4R"; } + const char* GetAesKey() const override { return "XcE1CK6L"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/FriendGetAgreeRequestHandler.cpp b/gimuserver/gme/handlers/FriendGetAgreeRequestHandler.cpp new file mode 100644 index 0000000..8da194a --- /dev/null +++ b/gimuserver/gme/handlers/FriendGetAgreeRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "FriendGetAgreeRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::FriendGetAgreeRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/FriendGetAgreeRequestHandler.hpp b/gimuserver/gme/handlers/FriendGetAgreeRequestHandler.hpp new file mode 100644 index 0000000..1e463a1 --- /dev/null +++ b/gimuserver/gme/handlers/FriendGetAgreeRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class FriendGetAgreeRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "aVqJrR08"; } + const char* GetAesKey() const override { return "H4zJCK2jPeaskVdf"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/FriendGetHandler.cpp b/gimuserver/gme/handlers/FriendGetHandler.cpp deleted file mode 100644 index 628291b..0000000 --- a/gimuserver/gme/handlers/FriendGetHandler.cpp +++ /dev/null @@ -1,10 +0,0 @@ -#include "FriendGetHandler.hpp" -#include "gme/response/ReinforcementInfo.hpp" - -void Handler::FriendGetHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const -{ - Json::Value res; - Response::ReinforcementInfo info; - info.Serialize(res); - cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); -} diff --git a/gimuserver/gme/handlers/FriendGetRequestHandler.cpp b/gimuserver/gme/handlers/FriendGetRequestHandler.cpp new file mode 100644 index 0000000..7e987c5 --- /dev/null +++ b/gimuserver/gme/handlers/FriendGetRequestHandler.cpp @@ -0,0 +1,13 @@ +#include "FriendGetRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" +#include "gme/response/ReinforcementInfo.hpp" + +void Handler::FriendGetRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + Response::ReinforcementInfo info; + info.Serialize(res); + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/FriendGetHandler.hpp b/gimuserver/gme/handlers/FriendGetRequestHandler.hpp similarity index 85% rename from gimuserver/gme/handlers/FriendGetHandler.hpp rename to gimuserver/gme/handlers/FriendGetRequestHandler.hpp index 9fb13f9..dabe073 100644 --- a/gimuserver/gme/handlers/FriendGetHandler.hpp +++ b/gimuserver/gme/handlers/FriendGetRequestHandler.hpp @@ -3,7 +3,7 @@ #include "../GmeHandler.hpp" HANDLER_NS_BEGIN -class FriendGetHandler : public HandlerBase +class FriendGetRequestHandler : public HandlerBase { public: const char* GetGroupId() const override { return "2o4axPIC"; } diff --git a/gimuserver/gme/handlers/FriendRandomSearchRequestHandler.cpp b/gimuserver/gme/handlers/FriendRandomSearchRequestHandler.cpp new file mode 100644 index 0000000..cc1e680 --- /dev/null +++ b/gimuserver/gme/handlers/FriendRandomSearchRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "FriendRandomSearchRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::FriendRandomSearchRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/FriendRandomSearchRequestHandler.hpp b/gimuserver/gme/handlers/FriendRandomSearchRequestHandler.hpp new file mode 100644 index 0000000..0a62808 --- /dev/null +++ b/gimuserver/gme/handlers/FriendRandomSearchRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class FriendRandomSearchRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "mE5gUQOp"; } + const char* GetAesKey() const override { return "oK4VaDGF"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/FriendRefuseRequestHandler.cpp b/gimuserver/gme/handlers/FriendRefuseRequestHandler.cpp new file mode 100644 index 0000000..e357f69 --- /dev/null +++ b/gimuserver/gme/handlers/FriendRefuseRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "FriendRefuseRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::FriendRefuseRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/FriendRefuseRequestHandler.hpp b/gimuserver/gme/handlers/FriendRefuseRequestHandler.hpp new file mode 100644 index 0000000..13e3c55 --- /dev/null +++ b/gimuserver/gme/handlers/FriendRefuseRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class FriendRefuseRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "N5SQd7oA"; } + const char* GetAesKey() const override { return "fk8YaVy9puJbnLWv"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/FriendSearchRequestHandler.cpp b/gimuserver/gme/handlers/FriendSearchRequestHandler.cpp new file mode 100644 index 0000000..0632ac2 --- /dev/null +++ b/gimuserver/gme/handlers/FriendSearchRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "FriendSearchRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::FriendSearchRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/FriendSearchRequestHandler.hpp b/gimuserver/gme/handlers/FriendSearchRequestHandler.hpp new file mode 100644 index 0000000..682bbd8 --- /dev/null +++ b/gimuserver/gme/handlers/FriendSearchRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class FriendSearchRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "umNt8M7i"; } + const char* GetAesKey() const override { return "qa3sHuDgKxV5nI1F"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/FrontierGateContinueRequestHandler.cpp b/gimuserver/gme/handlers/FrontierGateContinueRequestHandler.cpp new file mode 100644 index 0000000..c732774 --- /dev/null +++ b/gimuserver/gme/handlers/FrontierGateContinueRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "FrontierGateContinueRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::FrontierGateContinueRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/FrontierGateContinueRequestHandler.hpp b/gimuserver/gme/handlers/FrontierGateContinueRequestHandler.hpp new file mode 100644 index 0000000..f925247 --- /dev/null +++ b/gimuserver/gme/handlers/FrontierGateContinueRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class FrontierGateContinueRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "uiFIMUH6"; } + const char* GetAesKey() const override { return "ZiosS4cd"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/FrontierGateEndRequestHandler.cpp b/gimuserver/gme/handlers/FrontierGateEndRequestHandler.cpp new file mode 100644 index 0000000..ef66419 --- /dev/null +++ b/gimuserver/gme/handlers/FrontierGateEndRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "FrontierGateEndRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::FrontierGateEndRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/FrontierGateEndRequestHandler.hpp b/gimuserver/gme/handlers/FrontierGateEndRequestHandler.hpp new file mode 100644 index 0000000..5b91b50 --- /dev/null +++ b/gimuserver/gme/handlers/FrontierGateEndRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class FrontierGateEndRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "cAJp7U4l"; } + const char* GetAesKey() const override { return "Vvpy7qZR"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/FrontierGateInfoRequestHandler.cpp b/gimuserver/gme/handlers/FrontierGateInfoRequestHandler.cpp new file mode 100644 index 0000000..2f2a3af --- /dev/null +++ b/gimuserver/gme/handlers/FrontierGateInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "FrontierGateInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::FrontierGateInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/FrontierGateInfoRequestHandler.hpp b/gimuserver/gme/handlers/FrontierGateInfoRequestHandler.hpp new file mode 100644 index 0000000..2165353 --- /dev/null +++ b/gimuserver/gme/handlers/FrontierGateInfoRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class FrontierGateInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "M17pPotk"; } + const char* GetAesKey() const override { return "sochkegz"; } + // TODO: Response has 11 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/FrontierGateRankingRequestHandler.cpp b/gimuserver/gme/handlers/FrontierGateRankingRequestHandler.cpp new file mode 100644 index 0000000..8cb2683 --- /dev/null +++ b/gimuserver/gme/handlers/FrontierGateRankingRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "FrontierGateRankingRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::FrontierGateRankingRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/FrontierGateRankingRequestHandler.hpp b/gimuserver/gme/handlers/FrontierGateRankingRequestHandler.hpp new file mode 100644 index 0000000..e265f9a --- /dev/null +++ b/gimuserver/gme/handlers/FrontierGateRankingRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class FrontierGateRankingRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "26zW90oG"; } + const char* GetAesKey() const override { return "yo9eBUJk"; } + // TODO: Response has 16 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/FrontierGateRestartRequestHandler.cpp b/gimuserver/gme/handlers/FrontierGateRestartRequestHandler.cpp new file mode 100644 index 0000000..3c54d21 --- /dev/null +++ b/gimuserver/gme/handlers/FrontierGateRestartRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "FrontierGateRestartRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::FrontierGateRestartRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/FrontierGateRestartRequestHandler.hpp b/gimuserver/gme/handlers/FrontierGateRestartRequestHandler.hpp new file mode 100644 index 0000000..798ff15 --- /dev/null +++ b/gimuserver/gme/handlers/FrontierGateRestartRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class FrontierGateRestartRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "v0m1FU0g"; } + const char* GetAesKey() const override { return "whb7Y2wX"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/FrontierGateRetryRequestHandler.cpp b/gimuserver/gme/handlers/FrontierGateRetryRequestHandler.cpp new file mode 100644 index 0000000..f96f826 --- /dev/null +++ b/gimuserver/gme/handlers/FrontierGateRetryRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "FrontierGateRetryRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::FrontierGateRetryRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/FrontierGateRetryRequestHandler.hpp b/gimuserver/gme/handlers/FrontierGateRetryRequestHandler.hpp new file mode 100644 index 0000000..be7dd94 --- /dev/null +++ b/gimuserver/gme/handlers/FrontierGateRetryRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class FrontierGateRetryRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "9pzHMBzq"; } + const char* GetAesKey() const override { return "njsKMqGT"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/FrontierGateSaveRequestHandler.cpp b/gimuserver/gme/handlers/FrontierGateSaveRequestHandler.cpp new file mode 100644 index 0000000..961fe91 --- /dev/null +++ b/gimuserver/gme/handlers/FrontierGateSaveRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "FrontierGateSaveRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::FrontierGateSaveRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/FrontierGateSaveRequestHandler.hpp b/gimuserver/gme/handlers/FrontierGateSaveRequestHandler.hpp new file mode 100644 index 0000000..e8d2ad8 --- /dev/null +++ b/gimuserver/gme/handlers/FrontierGateSaveRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class FrontierGateSaveRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "Ng73nFHJ"; } + const char* GetAesKey() const override { return "4SdtoczN"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/FrontierGateStartRequestHandler.cpp b/gimuserver/gme/handlers/FrontierGateStartRequestHandler.cpp new file mode 100644 index 0000000..ccc0cba --- /dev/null +++ b/gimuserver/gme/handlers/FrontierGateStartRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "FrontierGateStartRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::FrontierGateStartRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/FrontierGateStartRequestHandler.hpp b/gimuserver/gme/handlers/FrontierGateStartRequestHandler.hpp new file mode 100644 index 0000000..5f6605d --- /dev/null +++ b/gimuserver/gme/handlers/FrontierGateStartRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class FrontierGateStartRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "l3lkDBSc"; } + const char* GetAesKey() const override { return "vYPCD34q"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GRGuardianDetailHandler.cpp b/gimuserver/gme/handlers/GRGuardianDetailHandler.cpp new file mode 100644 index 0000000..85f09c4 --- /dev/null +++ b/gimuserver/gme/handlers/GRGuardianDetailHandler.cpp @@ -0,0 +1,11 @@ +#include "GRGuardianDetailHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GRGuardianDetailHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GRGuardianDetailHandler.hpp b/gimuserver/gme/handlers/GRGuardianDetailHandler.hpp new file mode 100644 index 0000000..10ada8d --- /dev/null +++ b/gimuserver/gme/handlers/GRGuardianDetailHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GRGuardianDetailHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "5710Dkla"; } + const char* GetAesKey() const override { return "f89a2kd7"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GachaActionRequestHandler.cpp b/gimuserver/gme/handlers/GachaActionRequestHandler.cpp new file mode 100644 index 0000000..0ea8c42 --- /dev/null +++ b/gimuserver/gme/handlers/GachaActionRequestHandler.cpp @@ -0,0 +1,56 @@ +#include "GachaActionRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GachaActionRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + //TODO: Tuck away into a response class + + Response::UserUnitInfo unitInfo; + unitInfo.overwrite = false; + if (unitInfo.Mst.empty()) { + Response::UserUnitInfo::Data d; + d.userID = user.info.userID; + d.userUnitID = 9999; // TODO: Intigrate these values to inject data into the SQL for longterm storage. + d.unitID = 10011; // TODO: This unit is hard-coded and needs to be randomized to the rates of a given gatcha table. + d.unitTypeID = 1; + d.element = "light"; + d.unitLv = 1; + d.newFlg = 1; + d.receiveDate = 100; + d.FeBP = 100; + d.FeMaxUsableBP = 200; + d.baseHp = 5000; + d.baseAtk = 1000; + d.baseDef = 1000; + d.baseHeal = 1000; + d.addHp = 100; + d.addAtk = 100; + d.addDef = 100; + d.addHeal = 100; + d.extHp = 100; + d.extAtk = 100; + d.extDef = 100; + d.extHeal = 100; + d.limitOverHP = 200; + d.limitOverAtk = 200; + d.limitOverDef = 200; + d.limitOverHeal = 200; + d.exp = 1; + d.totalExp = 100; + unitInfo.Mst.emplace_back(d); + } + unitInfo.Serialize(res); + + { + Json::Value d; + d["edy7fq3L"] = "9999"; // Unique String for Unit + d["u0vkt9yH"] = 13762; //Flag for Gate Anim + res["Km35HAXv"] = d; + } + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GachaActionRequestHandler.hpp b/gimuserver/gme/handlers/GachaActionRequestHandler.hpp new file mode 100644 index 0000000..1579c20 --- /dev/null +++ b/gimuserver/gme/handlers/GachaActionRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GachaActionRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "F7JvPk5H"; } + const char* GetAesKey() const override { return "bL9fipzaSy7xN2w1"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GachaActionRequest_SGHandler.cpp b/gimuserver/gme/handlers/GachaActionRequest_SGHandler.cpp new file mode 100644 index 0000000..c33d5b9 --- /dev/null +++ b/gimuserver/gme/handlers/GachaActionRequest_SGHandler.cpp @@ -0,0 +1,11 @@ +#include "GachaActionRequest_SGHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GachaActionRequest_SGHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GachaActionRequest_SGHandler.hpp b/gimuserver/gme/handlers/GachaActionRequest_SGHandler.hpp new file mode 100644 index 0000000..8542faf --- /dev/null +++ b/gimuserver/gme/handlers/GachaActionRequest_SGHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GachaActionRequest_SGHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "z3Di1k0e"; } + const char* GetAesKey() const override { return "be51pQk9c"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GachaFixActionRequestHandler.cpp b/gimuserver/gme/handlers/GachaFixActionRequestHandler.cpp new file mode 100644 index 0000000..2e5cee2 --- /dev/null +++ b/gimuserver/gme/handlers/GachaFixActionRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GachaFixActionRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GachaFixActionRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GachaFixActionRequestHandler.hpp b/gimuserver/gme/handlers/GachaFixActionRequestHandler.hpp new file mode 100644 index 0000000..19245e6 --- /dev/null +++ b/gimuserver/gme/handlers/GachaFixActionRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GachaFixActionRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "MFLFP9f2"; } + const char* GetAesKey() const override { return "484bnJG2"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GatchaListHandler.cpp b/gimuserver/gme/handlers/GachaListRequestHandler.cpp similarity index 57% rename from gimuserver/gme/handlers/GatchaListHandler.cpp rename to gimuserver/gme/handlers/GachaListRequestHandler.cpp index 3e28b9a..be2343d 100644 --- a/gimuserver/gme/handlers/GatchaListHandler.cpp +++ b/gimuserver/gme/handlers/GachaListRequestHandler.cpp @@ -1,11 +1,14 @@ -#include "GatchaListHandler.hpp" +#include "GachaListRequestHandler.hpp" #include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" #include "core/System.hpp" -void Handler::GatchaListHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +void Handler::GachaListRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const { Json::Value res; + //TODO: Tuck into a response class + { Response::SignalKey v; v.key = "axhp8Sin"; @@ -15,6 +18,6 @@ void Handler::GatchaListHandler::Handle(UserInfo& user, DrogonCallback cb, const user.teamInfo.Serialize(res); System::Instance().MstConfig().CopyGachaInfoTo(res); - + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); } diff --git a/gimuserver/gme/handlers/GatchaListHandler.hpp b/gimuserver/gme/handlers/GachaListRequestHandler.hpp similarity index 85% rename from gimuserver/gme/handlers/GatchaListHandler.hpp rename to gimuserver/gme/handlers/GachaListRequestHandler.hpp index 6bffe3d..59d14ed 100644 --- a/gimuserver/gme/handlers/GatchaListHandler.hpp +++ b/gimuserver/gme/handlers/GachaListRequestHandler.hpp @@ -3,7 +3,7 @@ #include "../GmeHandler.hpp" HANDLER_NS_BEGIN -class GatchaListHandler : public HandlerBase +class GachaListRequestHandler : public HandlerBase { public: const char* GetGroupId() const override { return "Uo86DcRh"; } diff --git a/gimuserver/gme/handlers/GetAchievementInfoRequestHandler.cpp b/gimuserver/gme/handlers/GetAchievementInfoRequestHandler.cpp new file mode 100644 index 0000000..31bf8f8 --- /dev/null +++ b/gimuserver/gme/handlers/GetAchievementInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GetAchievementInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GetAchievementInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GetAchievementInfoRequestHandler.hpp b/gimuserver/gme/handlers/GetAchievementInfoRequestHandler.hpp new file mode 100644 index 0000000..f4ee988 --- /dev/null +++ b/gimuserver/gme/handlers/GetAchievementInfoRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GetAchievementInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "YPBU7MD8"; } + const char* GetAesKey() const override { return "AKjzyZ81"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GetDistributeDungeonKeyInfoRequestHandler.cpp b/gimuserver/gme/handlers/GetDistributeDungeonKeyInfoRequestHandler.cpp new file mode 100644 index 0000000..50a6463 --- /dev/null +++ b/gimuserver/gme/handlers/GetDistributeDungeonKeyInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GetDistributeDungeonKeyInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GetDistributeDungeonKeyInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GetDistributeDungeonKeyInfoRequestHandler.hpp b/gimuserver/gme/handlers/GetDistributeDungeonKeyInfoRequestHandler.hpp new file mode 100644 index 0000000..dc8ee33 --- /dev/null +++ b/gimuserver/gme/handlers/GetDistributeDungeonKeyInfoRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GetDistributeDungeonKeyInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "1mr9UsYz"; } + const char* GetAesKey() const override { return "r0ZA3pn5"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GetGiftInfoRequestHandler.cpp b/gimuserver/gme/handlers/GetGiftInfoRequestHandler.cpp new file mode 100644 index 0000000..b547154 --- /dev/null +++ b/gimuserver/gme/handlers/GetGiftInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GetGiftInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GetGiftInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GetGiftInfoRequestHandler.hpp b/gimuserver/gme/handlers/GetGiftInfoRequestHandler.hpp new file mode 100644 index 0000000..3bfa6ee --- /dev/null +++ b/gimuserver/gme/handlers/GetGiftInfoRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GetGiftInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "ifYoPJ46"; } + const char* GetAesKey() const override { return "6zHEYa9U"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GetPlayerInfoRequestHandler.cpp b/gimuserver/gme/handlers/GetPlayerInfoRequestHandler.cpp new file mode 100644 index 0000000..0b92e5c --- /dev/null +++ b/gimuserver/gme/handlers/GetPlayerInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GetPlayerInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GetPlayerInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GetPlayerInfoRequestHandler.hpp b/gimuserver/gme/handlers/GetPlayerInfoRequestHandler.hpp new file mode 100644 index 0000000..5605feb --- /dev/null +++ b/gimuserver/gme/handlers/GetPlayerInfoRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GetPlayerInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "vUQrAV65"; } + const char* GetAesKey() const override { return "7pW4xF9H"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GetScenarioPlayingInfoRequestHandler.cpp b/gimuserver/gme/handlers/GetScenarioPlayingInfoRequestHandler.cpp new file mode 100644 index 0000000..a4d754a --- /dev/null +++ b/gimuserver/gme/handlers/GetScenarioPlayingInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GetScenarioPlayingInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GetScenarioPlayingInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GetScenarioPlayingInfoRequestHandler.hpp b/gimuserver/gme/handlers/GetScenarioPlayingInfoRequestHandler.hpp new file mode 100644 index 0000000..50c23aa --- /dev/null +++ b/gimuserver/gme/handlers/GetScenarioPlayingInfoRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GetScenarioPlayingInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "VRfsv4e3"; } + const char* GetAesKey() const override { return "Bh4WqR01"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GetUserInfoRequestHandler.cpp b/gimuserver/gme/handlers/GetUserInfoRequestHandler.cpp new file mode 100644 index 0000000..510788e --- /dev/null +++ b/gimuserver/gme/handlers/GetUserInfoRequestHandler.cpp @@ -0,0 +1,314 @@ +#include "GetUserInfoRequestHandler.hpp" +#include +#include +#include +#include "gme/response/UserTeamInfo.hpp" +#include "gme/response/UserLoginCampaignInfo.hpp" +#include "gme/response/NoticeInfo.hpp" +#include "gme/response/UserItemDictionaryInfo.hpp" +#include "gme/response/UserTeamArchive.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "gme/response/UserPartyDeckInfo.hpp" +#include "gme/response/UserWarehouseInfo.hpp" +#include "gme/response/UserClearMissionInfo.hpp" +#include "gme/response/ItemFavorite.hpp" +#include "gme/response/UserTeamArenaArchive.hpp" +#include "gme/response/UserUnitDictionary.hpp" +#include "gme/response/UserFavorite.hpp" +#include "gme/response/UserArenaInfo.hpp" +#include "gme/response/UserGiftInfo.hpp" +#include "gme/response/VideoAdInfo.hpp" +#include "gme/response/VideoAdRegion.hpp" +#include "gme/response/SummonerJournalUserInfo.hpp" +#include "gme/response/SignalKey.hpp" +#include + +namespace { + // Helper: Populate unit data structure with default values + void PopulateUnitData(Response::UserUnitInfo::Data& d, const std::string& userId, + uint32_t userUnitId, uint64_t unitId) { + d.userID = userId; + d.userUnitID = userUnitId; + d.unitID = unitId; + d.element = "fire"; + d.unitLv = 1; + d.newFlg = 1; + d.receiveDate = 100; + d.FeBP = 100; + d.FeMaxUsableBP = 200; + + // Base stats - all start at 1000 + d.baseHp = d.baseAtk = d.baseDef = d.baseHeal = 1000; + d.addHp = d.addAtk = d.addDef = d.addHeal = 100; + d.extHp = d.extAtk = d.extDef = d.extHeal = 100; + d.limitOverHP = d.limitOverAtk = d.limitOverDef = d.limitOverHeal = 200; + d.exp = d.totalExp = 1; + + // Default skill and equipment IDs + d.unitTypeID = 1; + d.leaderSkillID = d.skillID = d.extraSkillID = 0; + d.eqipItemFrameID = d.eqipItemFrameID2 = 0; + d.eqipItemID = d.equipItemID2 = 0; + d.ExtraPassiveSkillID = d.ExtraPassiveSkillID2 = d.AddExtraPassiveSkillID = 0; + d.FeSkillInfo = ""; + } + + // Helper: Create dummy unit for empty inventory (Vargas starter unit) + Response::UserUnitInfo::Data CreateDummyUnit(const std::string& userId) { + Response::UserUnitInfo::Data d; + PopulateUnitData(d, userId, 1, 10017); // Unit ID 10017 = Vargas + return d; + } + + // Helper: Build unit info from database result + Response::UserUnitInfo BuildUnitInfo(const drogon::orm::Result& unitResult, const std::string& userId) { + Response::UserUnitInfo unitInfo; + + for (const auto& row : unitResult) { + Response::UserUnitInfo::Data d; + // unit_id may have suffixes like _100 (limit broken) or _2 (evolved form). + // Strip everything after the first underscore to get the base numeric ID. + std::string rawId = row["unit_id"].as(); + auto underscore = rawId.find('_'); + uint64_t unitId = std::stoull( + underscore == std::string::npos ? rawId : rawId.substr(0, underscore) + ); + PopulateUnitData(d, userId, row["id"].as(), unitId); + unitInfo.Mst.emplace_back(d); + } + + // Add dummy unit if inventory is empty to prevent client crashes + if (unitInfo.Mst.empty()) { + LOG_WARN << "No units found for user " << userId << ", adding dummy unit"; + unitInfo.Mst.emplace_back(CreateDummyUnit(userId)); + } + + return unitInfo; + } + + // Helper: Create party deck with first unit as leader + Response::UserPartyDeckInfo CreateDefaultDeck(const Response::UserUnitInfo& unitInfo) { + Response::UserPartyDeckInfo deckInfo; + + if (!unitInfo.Mst.empty()) { + Response::UserPartyDeckInfo::Data d; + d.deckNum = 0; + d.deckType = 1; + d.dispOrder = 0; + d.memberType = 0; // Leader position + d.userUnitID = unitInfo.Mst[0].userUnitID; + deckInfo.Mst.emplace_back(d); + } + + return deckInfo; + } +} + +void Handler::GetUserInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const { + // The Windows client sends dummy placeholder values like '0101AABB' as user_id + // inside the encrypted GME packet body. The GmeController copies that into + // user.info.userID before calling us, so we cannot trust it directly. + // + // Resolution: query the users table. If the current userID exists, use it. + // Otherwise (UNION ALL) fall back to the first real user in the DB. + // For offline single-player this always resolves to the one real account. + LOG_INFO << "UserInfoHandler: raw user_id: " << user.info.userID; + + GME_DB->execSqlAsync( + "SELECT id FROM users WHERE id = $1 " + "UNION ALL " + "SELECT id FROM users WHERE id != $1 LIMIT 1", + [this, &user, cb, req](const drogon::orm::Result& idResult) + { + if (!idResult.empty()) + { + std::string resolvedId = idResult[0]["id"].as(); + if (resolvedId != user.info.userID) + { + LOG_INFO << "UserInfoHandler: remapped " << user.info.userID + << " -> " << resolvedId; + user.info.userID = resolvedId; + } + } + else + { + LOG_WARN << "UserInfoHandler: no users in DB"; + } + // Now dispatch with the resolved user ID. + HandleResolved(user, cb, req); + }, + [this, &user, cb, req](const drogon::orm::DrogonDbException& e) + { + LOG_ERROR << "UserInfoHandler: resolution query failed: " << e.base().what(); + HandleResolved(user, cb, req); + }, + user.info.userID + ); +} + +void Handler::GetUserInfoRequestHandler::HandleResolved(UserInfo& user, DrogonCallback cb, const Json::Value& req) const { + LOG_INFO << "UserInfoHandler: resolved user_id: " << user.info.userID; + + // Handle unit inventory or squad management requests separately + std::string action = req.isMember("action") ? req["action"].asString() : ""; + if (action == "load_unit_inventory" || action == "Zw3WIoWu" || action == "load_squad_management") { + GME_DB->execSqlAsync( + "SELECT id, unit_id FROM user_units WHERE user_id = $1 LIMIT 4000", + [this, &user, cb](const drogon::orm::Result& unitResult) { + LOG_INFO << "Found " << unitResult.size() << " units for user " << user.info.userID; + + Json::Value res; + auto unitInfo = BuildUnitInfo(unitResult, user.info.userID); + unitInfo.Serialize(res); + + auto deckInfo = CreateDefaultDeck(unitInfo); + deckInfo.Serialize(res); + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); + }, + [this, cb](const drogon::orm::DrogonDbException& e) { OnError(e, cb); }, + user.info.userID + ); + return; + } + + // Main user info loading logic + GME_DB->execSqlAsync( + "SELECT level, exp, max_unit_count, max_friend_count, zel, karma, brave_coin, " + "max_warehouse_count, want_gift, free_gems, paid_gems, active_deck, summon_tickets, " + "rainbow_coins, colosseum_tickets, active_arena_deck, total_brave_points, " + "avail_brave_points, energy FROM userinfo WHERE id = $1", + [this, &user, cb](const drogon::orm::Result& result) { + // Load existing user data or initialize defaults + if (result.size() > 0) { + auto& sql = result[0]; + int col = 0; + user.teamInfo.UserID = user.info.userID; + user.teamInfo.Level = sql[col++].as(); + user.teamInfo.Exp = sql[col++].as(); + user.teamInfo.MaxUnitCount = sql[col++].as(); + user.teamInfo.MaxFriendCount = sql[col++].as(); + user.teamInfo.Zel = sql[col++].as(); + user.teamInfo.Karma = sql[col++].as(); + user.teamInfo.BraveCoin = sql[col++].as(); + user.teamInfo.WarehouseCount = sql[col++].as(); + user.teamInfo.WantGift = sql[col++].as(); + user.teamInfo.FreeGems = sql[col++].as(); + user.teamInfo.PaidGems = sql[col++].as(); + user.teamInfo.ActiveDeck = sql[col++].as(); + user.teamInfo.SummonTicket = sql[col++].as(); + user.teamInfo.RainbowCoin = sql[col++].as(); + user.teamInfo.ColosseumTicket = sql[col++].as(); + user.teamInfo.ArenaDeckNum = sql[col++].as(); + user.teamInfo.BravePointsTotal = sql[col++].as(); + user.teamInfo.CurrentBravePoints = sql[col++].as(); + user.teamInfo.ActionPoint = sql[col++].as(); + } + else { + // Initialize new user with starter config + //TODO: Call New User Logic Here + auto sc = System::Instance().MstConfig().StartInfo(); + user.teamInfo.UserID = user.info.userID; + user.teamInfo.Level = sc.Level; + user.teamInfo.Exp = 0; + user.teamInfo.MaxUnitCount = user.teamInfo.WarehouseCount = 4000; + user.teamInfo.MaxFriendCount = sc.FriendCount; + user.teamInfo.Zel = sc.Zel; + user.teamInfo.Karma = sc.Karma; + user.teamInfo.BraveCoin = 0; + user.teamInfo.FreeGems = sc.FreeGems; + user.teamInfo.PaidGems = sc.PaidGems; + user.teamInfo.SummonTicket = sc.SummonTickets; + user.teamInfo.ColosseumTicket = sc.ColosseumTickets; + + // Persist new user to database + GME_DB->execSqlAsync( + "INSERT INTO userinfo (id, level, exp, max_unit_count, max_friend_count, " + "zel, karma, brave_coin, max_warehouse_count, want_gift, free_gems, paid_gems, " + "active_deck, summon_tickets, rainbow_coins, colosseum_tickets, active_arena_deck, " + "total_brave_points, avail_brave_points, energy) " + "VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20)", + [](const drogon::orm::Result&) { LOG_INFO << "Inserted default userinfo for new user"; }, + [](const drogon::orm::DrogonDbException& e) { + LOG_ERROR << "Failed to insert userinfo: " << e.base().what(); + }, + user.info.userID, user.teamInfo.Level, user.teamInfo.Exp, user.teamInfo.MaxUnitCount, + user.teamInfo.MaxFriendCount, user.teamInfo.Zel, user.teamInfo.Karma, user.teamInfo.BraveCoin, + user.teamInfo.WarehouseCount, user.teamInfo.WantGift, user.teamInfo.FreeGems, user.teamInfo.PaidGems, + user.teamInfo.ActiveDeck, user.teamInfo.SummonTicket, user.teamInfo.RainbowCoin, + user.teamInfo.ColosseumTicket, user.teamInfo.ArenaDeckNum, user.teamInfo.BravePointsTotal, + user.teamInfo.CurrentBravePoints, user.teamInfo.ActionPoint + ); + } + + // Apply level-based progression modifiers + const auto& msts = System::Instance().MstConfig(); + const auto& p = msts.GetProgressionInfo().Mst.at(user.teamInfo.Level - 1); + user.teamInfo.DeckCost = p.deckCost; + user.teamInfo.MaxFriendCount = p.friendCount; + user.teamInfo.AddFriendCount = p.addFriendCount; + user.teamInfo.MaxActionPoint = p.actionPoints; + if (user.teamInfo.ActionPoint == 0) + user.teamInfo.ActionPoint = user.teamInfo.MaxActionPoint; + + // Load user units and build complete response + GME_DB->execSqlAsync( + "SELECT id, unit_id FROM user_units WHERE user_id = $1 LIMIT 4000", + [this, &user, cb](const drogon::orm::Result& unitResult) { + LOG_INFO << "Found " << unitResult.size() << " units for user " << user.info.userID; + + // Build comprehensive response with all user data + Json::Value res; + user.info.Serialize(res); + user.teamInfo.Serialize(res); + + // Add login campaign info + Response::UserLoginCampaignInfo campaign; + campaign.currentDay = 1; + campaign.totalDays = 96; + campaign.firstForTheDay = true; + campaign.Serialize(res); + + // Add unit inventory + auto unitInfo = BuildUnitInfo(unitResult, user.info.userID); + unitInfo.Serialize(res); + + // Add party deck + auto deckInfo = CreateDefaultDeck(unitInfo); + deckInfo.Serialize(res); + + // Serialize all other game data structures + Response::UserTeamArchive{}.Serialize(res); + Response::UserTeamArenaArchive{}.Serialize(res); + Response::UserUnitDictionary{}.Serialize(res); + Response::UserFavorite{}.Serialize(res); + Response::UserClearMissionInfo{}.Serialize(res); + Response::UserWarehouseInfo{}.Serialize(res); + Response::ItemFavorite{}.Serialize(res); + Response::UserItemDictionaryInfo{}.Serialize(res); + Response::UserArenaInfo{}.Serialize(res); + Response::UserGiftInfo{}.Serialize(res); + + // Add summoner journal info + Response::SummonerJournalUserInfo journal; + journal.userId = user.info.userID; + journal.Serialize(res); + + // Add signal key for client authentication + Response::SignalKey signalKey; + signalKey.key = "5EdKHavF"; + signalKey.Serialize(res); + + // Append master config data + System::Instance().MstConfig().CopyUserInfoMstTo(res); + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); + }, + [this, cb](const drogon::orm::DrogonDbException& e) { OnError(e, cb); }, + user.info.userID + ); + }, + [this, cb](const drogon::orm::DrogonDbException& e) { OnError(e, cb); }, + user.info.userID + ); +} \ No newline at end of file diff --git a/gimuserver/gme/handlers/GetUserInfoRequestHandler.hpp b/gimuserver/gme/handlers/GetUserInfoRequestHandler.hpp new file mode 100644 index 0000000..e9bd9a0 --- /dev/null +++ b/gimuserver/gme/handlers/GetUserInfoRequestHandler.hpp @@ -0,0 +1,21 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GetUserInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "cTZ3W2JG"; } + const char* GetAesKey() const override { return "ScJx6ywWEb0A3njT"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; + +private: + // Second-phase dispatch called after user ID has been resolved from the users table. + // Exists because the Windows client sends dummy values like '0101AABB' as user_id + // in the encrypted request body, so Handle() first resolves the real ID async, + // then delegates here where all member functions (GetGroupId, GetAesKey, OnError) + // are in scope normally. + void HandleResolved(UserInfo& user, DrogonCallback cb, const Json::Value& req) const; +}; +HANDLER_NS_END \ No newline at end of file diff --git a/gimuserver/gme/handlers/GuildBattleScoreInfoRequestHandler.cpp b/gimuserver/gme/handlers/GuildBattleScoreInfoRequestHandler.cpp new file mode 100644 index 0000000..0f737b2 --- /dev/null +++ b/gimuserver/gme/handlers/GuildBattleScoreInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildBattleScoreInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildBattleScoreInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildBattleScoreInfoRequestHandler.hpp b/gimuserver/gme/handlers/GuildBattleScoreInfoRequestHandler.hpp new file mode 100644 index 0000000..5074e29 --- /dev/null +++ b/gimuserver/gme/handlers/GuildBattleScoreInfoRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildBattleScoreInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "W1Dgsfnz"; } + const char* GetAesKey() const override { return "eMfdsGVJ"; } + // TODO: Response has 2 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildBoardInfoRequestHandler.cpp b/gimuserver/gme/handlers/GuildBoardInfoRequestHandler.cpp new file mode 100644 index 0000000..a91b597 --- /dev/null +++ b/gimuserver/gme/handlers/GuildBoardInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildBoardInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildBoardInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildBoardInfoRequestHandler.hpp b/gimuserver/gme/handlers/GuildBoardInfoRequestHandler.hpp new file mode 100644 index 0000000..a2cb78c --- /dev/null +++ b/gimuserver/gme/handlers/GuildBoardInfoRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildBoardInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "J93ki3Bw"; } + const char* GetAesKey() const override { return "m83D19ib"; } + // TODO: Response has 9 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildBoardPostRequestHandler.cpp b/gimuserver/gme/handlers/GuildBoardPostRequestHandler.cpp new file mode 100644 index 0000000..3c5776a --- /dev/null +++ b/gimuserver/gme/handlers/GuildBoardPostRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildBoardPostRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildBoardPostRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildBoardPostRequestHandler.hpp b/gimuserver/gme/handlers/GuildBoardPostRequestHandler.hpp new file mode 100644 index 0000000..46a9563 --- /dev/null +++ b/gimuserver/gme/handlers/GuildBoardPostRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildBoardPostRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "X89bDai1"; } + const char* GetAesKey() const override { return "Bi9Ralbq"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildCampRequestHandler.cpp b/gimuserver/gme/handlers/GuildCampRequestHandler.cpp new file mode 100644 index 0000000..b9471e5 --- /dev/null +++ b/gimuserver/gme/handlers/GuildCampRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildCampRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildCampRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildCampRequestHandler.hpp b/gimuserver/gme/handlers/GuildCampRequestHandler.hpp new file mode 100644 index 0000000..ce202d8 --- /dev/null +++ b/gimuserver/gme/handlers/GuildCampRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildCampRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "38b67ie1"; } + const char* GetAesKey() const override { return "hG738a5b"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildCreateRequestHandler.cpp b/gimuserver/gme/handlers/GuildCreateRequestHandler.cpp new file mode 100644 index 0000000..310bbdb --- /dev/null +++ b/gimuserver/gme/handlers/GuildCreateRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildCreateRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildCreateRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildCreateRequestHandler.hpp b/gimuserver/gme/handlers/GuildCreateRequestHandler.hpp new file mode 100644 index 0000000..dd47b62 --- /dev/null +++ b/gimuserver/gme/handlers/GuildCreateRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildCreateRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "g298Da10"; } + const char* GetAesKey() const override { return "G23Bd01d"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildDeckActivateRequestHandler.cpp b/gimuserver/gme/handlers/GuildDeckActivateRequestHandler.cpp new file mode 100644 index 0000000..c376c31 --- /dev/null +++ b/gimuserver/gme/handlers/GuildDeckActivateRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildDeckActivateRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildDeckActivateRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildDeckActivateRequestHandler.hpp b/gimuserver/gme/handlers/GuildDeckActivateRequestHandler.hpp new file mode 100644 index 0000000..f24b487 --- /dev/null +++ b/gimuserver/gme/handlers/GuildDeckActivateRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildDeckActivateRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "bk30i39b"; } + const char* GetAesKey() const override { return "3bkb98a1"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildDeckEditRequestHandler.cpp b/gimuserver/gme/handlers/GuildDeckEditRequestHandler.cpp new file mode 100644 index 0000000..4a0de7e --- /dev/null +++ b/gimuserver/gme/handlers/GuildDeckEditRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildDeckEditRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildDeckEditRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildDeckEditRequestHandler.hpp b/gimuserver/gme/handlers/GuildDeckEditRequestHandler.hpp new file mode 100644 index 0000000..194f21e --- /dev/null +++ b/gimuserver/gme/handlers/GuildDeckEditRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildDeckEditRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "adk28bij"; } + const char* GetAesKey() const override { return "fgd3uu2b"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildGuardianSummonContributeRequestHandler.cpp b/gimuserver/gme/handlers/GuildGuardianSummonContributeRequestHandler.cpp new file mode 100644 index 0000000..7fbaae6 --- /dev/null +++ b/gimuserver/gme/handlers/GuildGuardianSummonContributeRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildGuardianSummonContributeRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildGuardianSummonContributeRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildGuardianSummonContributeRequestHandler.hpp b/gimuserver/gme/handlers/GuildGuardianSummonContributeRequestHandler.hpp new file mode 100644 index 0000000..1d1fd12 --- /dev/null +++ b/gimuserver/gme/handlers/GuildGuardianSummonContributeRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildGuardianSummonContributeRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "yDDcC0vW"; } + const char* GetAesKey() const override { return "NOeugPyv"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildInfoRequestHandler.cpp b/gimuserver/gme/handlers/GuildInfoRequestHandler.cpp new file mode 100644 index 0000000..d26ecbb --- /dev/null +++ b/gimuserver/gme/handlers/GuildInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildInfoRequestHandler.hpp b/gimuserver/gme/handlers/GuildInfoRequestHandler.hpp new file mode 100644 index 0000000..6ba66d8 --- /dev/null +++ b/gimuserver/gme/handlers/GuildInfoRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "138ba8d4"; } + const char* GetAesKey() const override { return "23gD81ia"; } + // TODO: Response has 12 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildInviteManageRequestHandler.cpp b/gimuserver/gme/handlers/GuildInviteManageRequestHandler.cpp new file mode 100644 index 0000000..6ce87fa --- /dev/null +++ b/gimuserver/gme/handlers/GuildInviteManageRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildInviteManageRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildInviteManageRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildInviteManageRequestHandler.hpp b/gimuserver/gme/handlers/GuildInviteManageRequestHandler.hpp new file mode 100644 index 0000000..5454be4 --- /dev/null +++ b/gimuserver/gme/handlers/GuildInviteManageRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildInviteManageRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "1D8bba8D"; } + const char* GetAesKey() const override { return "bUd2bd0e"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildJoinRequestHandler.cpp b/gimuserver/gme/handlers/GuildJoinRequestHandler.cpp new file mode 100644 index 0000000..f8c518a --- /dev/null +++ b/gimuserver/gme/handlers/GuildJoinRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildJoinRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildJoinRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildJoinRequestHandler.hpp b/gimuserver/gme/handlers/GuildJoinRequestHandler.hpp new file mode 100644 index 0000000..b79465c --- /dev/null +++ b/gimuserver/gme/handlers/GuildJoinRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildJoinRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "bfa2D1bp"; } + const char* GetAesKey() const override { return "9b3abdk1"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildJoinedListRequestHandler.cpp b/gimuserver/gme/handlers/GuildJoinedListRequestHandler.cpp new file mode 100644 index 0000000..d4d7f7c --- /dev/null +++ b/gimuserver/gme/handlers/GuildJoinedListRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildJoinedListRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildJoinedListRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildJoinedListRequestHandler.hpp b/gimuserver/gme/handlers/GuildJoinedListRequestHandler.hpp new file mode 100644 index 0000000..0592fd5 --- /dev/null +++ b/gimuserver/gme/handlers/GuildJoinedListRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildJoinedListRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "3890ab5j"; } + const char* GetAesKey() const override { return "820b38z5"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildMemberGuildInfoRequestHandler.cpp b/gimuserver/gme/handlers/GuildMemberGuildInfoRequestHandler.cpp new file mode 100644 index 0000000..8b5f5e3 --- /dev/null +++ b/gimuserver/gme/handlers/GuildMemberGuildInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildMemberGuildInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildMemberGuildInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildMemberGuildInfoRequestHandler.hpp b/gimuserver/gme/handlers/GuildMemberGuildInfoRequestHandler.hpp new file mode 100644 index 0000000..0ce992c --- /dev/null +++ b/gimuserver/gme/handlers/GuildMemberGuildInfoRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildMemberGuildInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "38bSeq81"; } + const char* GetAesKey() const override { return "h8TmR1bi"; } + // TODO: Response has 12 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildMemberUpdateRequestHandler.cpp b/gimuserver/gme/handlers/GuildMemberUpdateRequestHandler.cpp new file mode 100644 index 0000000..7d2d0d5 --- /dev/null +++ b/gimuserver/gme/handlers/GuildMemberUpdateRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildMemberUpdateRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildMemberUpdateRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildMemberUpdateRequestHandler.hpp b/gimuserver/gme/handlers/GuildMemberUpdateRequestHandler.hpp new file mode 100644 index 0000000..1e83896 --- /dev/null +++ b/gimuserver/gme/handlers/GuildMemberUpdateRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildMemberUpdateRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "ad81b8at"; } + const char* GetAesKey() const override { return "2b1bDo2m"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildPreviousRankingRequestHandler.cpp b/gimuserver/gme/handlers/GuildPreviousRankingRequestHandler.cpp new file mode 100644 index 0000000..57fb0f2 --- /dev/null +++ b/gimuserver/gme/handlers/GuildPreviousRankingRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildPreviousRankingRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildPreviousRankingRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildPreviousRankingRequestHandler.hpp b/gimuserver/gme/handlers/GuildPreviousRankingRequestHandler.hpp new file mode 100644 index 0000000..b940629 --- /dev/null +++ b/gimuserver/gme/handlers/GuildPreviousRankingRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildPreviousRankingRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "oRa3ztp8"; } + const char* GetAesKey() const override { return "pVg9L9Uw"; } + // TODO: Response has 5 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildQuestClaimRequestHandler.cpp b/gimuserver/gme/handlers/GuildQuestClaimRequestHandler.cpp new file mode 100644 index 0000000..3024827 --- /dev/null +++ b/gimuserver/gme/handlers/GuildQuestClaimRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildQuestClaimRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildQuestClaimRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildQuestClaimRequestHandler.hpp b/gimuserver/gme/handlers/GuildQuestClaimRequestHandler.hpp new file mode 100644 index 0000000..875773b --- /dev/null +++ b/gimuserver/gme/handlers/GuildQuestClaimRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildQuestClaimRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "dsRW32K"; } + const char* GetAesKey() const override { return "Afs43Dc4"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildRaidBattleInfoRequestHandler.cpp b/gimuserver/gme/handlers/GuildRaidBattleInfoRequestHandler.cpp new file mode 100644 index 0000000..22b45db --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidBattleInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildRaidBattleInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildRaidBattleInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildRaidBattleInfoRequestHandler.hpp b/gimuserver/gme/handlers/GuildRaidBattleInfoRequestHandler.hpp new file mode 100644 index 0000000..7e640b3 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidBattleInfoRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildRaidBattleInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "9b98aKj1"; } + const char* GetAesKey() const override { return "b8dAl1ic"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildRaidBattleLogListRequestHandler.cpp b/gimuserver/gme/handlers/GuildRaidBattleLogListRequestHandler.cpp new file mode 100644 index 0000000..e2637d2 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidBattleLogListRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildRaidBattleLogListRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildRaidBattleLogListRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildRaidBattleLogListRequestHandler.hpp b/gimuserver/gme/handlers/GuildRaidBattleLogListRequestHandler.hpp new file mode 100644 index 0000000..668d673 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidBattleLogListRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildRaidBattleLogListRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "MTzXyuFL"; } + const char* GetAesKey() const override { return "MkV5xHDL"; } + // TODO: Response has 16 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildRaidBattleLogSetRequestHandler.cpp b/gimuserver/gme/handlers/GuildRaidBattleLogSetRequestHandler.cpp new file mode 100644 index 0000000..a308c58 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidBattleLogSetRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildRaidBattleLogSetRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildRaidBattleLogSetRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildRaidBattleLogSetRequestHandler.hpp b/gimuserver/gme/handlers/GuildRaidBattleLogSetRequestHandler.hpp new file mode 100644 index 0000000..439e4b4 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidBattleLogSetRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildRaidBattleLogSetRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "36jhZ9YZ"; } + const char* GetAesKey() const override { return "Zd3d2zGx"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildRaidBattleOutpostRelocateRequestHandler.cpp b/gimuserver/gme/handlers/GuildRaidBattleOutpostRelocateRequestHandler.cpp new file mode 100644 index 0000000..08eb366 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidBattleOutpostRelocateRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildRaidBattleOutpostRelocateRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildRaidBattleOutpostRelocateRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildRaidBattleOutpostRelocateRequestHandler.hpp b/gimuserver/gme/handlers/GuildRaidBattleOutpostRelocateRequestHandler.hpp new file mode 100644 index 0000000..df369d2 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidBattleOutpostRelocateRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildRaidBattleOutpostRelocateRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "bka03Bi1"; } + const char* GetAesKey() const override { return "F91Dalb8"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildRaidBattleProgressRequestHandler.cpp b/gimuserver/gme/handlers/GuildRaidBattleProgressRequestHandler.cpp new file mode 100644 index 0000000..f2d7416 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidBattleProgressRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildRaidBattleProgressRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildRaidBattleProgressRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildRaidBattleProgressRequestHandler.hpp b/gimuserver/gme/handlers/GuildRaidBattleProgressRequestHandler.hpp new file mode 100644 index 0000000..d6f5c09 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidBattleProgressRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildRaidBattleProgressRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "v87b3Diq"; } + const char* GetAesKey() const override { return "Da0m39b1"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildRaidFriendSelectRequestHandler.cpp b/gimuserver/gme/handlers/GuildRaidFriendSelectRequestHandler.cpp new file mode 100644 index 0000000..91913ea --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidFriendSelectRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildRaidFriendSelectRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildRaidFriendSelectRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildRaidFriendSelectRequestHandler.hpp b/gimuserver/gme/handlers/GuildRaidFriendSelectRequestHandler.hpp new file mode 100644 index 0000000..4384991 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidFriendSelectRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildRaidFriendSelectRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "zGk5R8Dd"; } + const char* GetAesKey() const override { return "DRJQatky"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildRaidGuardSetupRequestHandler.cpp b/gimuserver/gme/handlers/GuildRaidGuardSetupRequestHandler.cpp new file mode 100644 index 0000000..1a7e2cb --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidGuardSetupRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildRaidGuardSetupRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildRaidGuardSetupRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildRaidGuardSetupRequestHandler.hpp b/gimuserver/gme/handlers/GuildRaidGuardSetupRequestHandler.hpp new file mode 100644 index 0000000..c7c6434 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidGuardSetupRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildRaidGuardSetupRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "Xdi3ebD9"; } + const char* GetAesKey() const override { return "TrDi19Bd"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildRaidInfoRequestHandler.cpp b/gimuserver/gme/handlers/GuildRaidInfoRequestHandler.cpp new file mode 100644 index 0000000..6501d6b --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildRaidInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildRaidInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildRaidInfoRequestHandler.hpp b/gimuserver/gme/handlers/GuildRaidInfoRequestHandler.hpp new file mode 100644 index 0000000..08978e0 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidInfoRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildRaidInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "Ie01B83k"; } + const char* GetAesKey() const override { return "P93Db8q1"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildRaidJoinRoomRequestHandler.cpp b/gimuserver/gme/handlers/GuildRaidJoinRoomRequestHandler.cpp new file mode 100644 index 0000000..10b0af1 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidJoinRoomRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildRaidJoinRoomRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildRaidJoinRoomRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildRaidJoinRoomRequestHandler.hpp b/gimuserver/gme/handlers/GuildRaidJoinRoomRequestHandler.hpp new file mode 100644 index 0000000..6ba92c2 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidJoinRoomRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildRaidJoinRoomRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "L3D9eK19"; } + const char* GetAesKey() const override { return "9Ur3Dkb3"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildRaidMemberDeployRequestHandler.cpp b/gimuserver/gme/handlers/GuildRaidMemberDeployRequestHandler.cpp new file mode 100644 index 0000000..e0b0245 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidMemberDeployRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildRaidMemberDeployRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildRaidMemberDeployRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildRaidMemberDeployRequestHandler.hpp b/gimuserver/gme/handlers/GuildRaidMemberDeployRequestHandler.hpp new file mode 100644 index 0000000..3dc2ae4 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidMemberDeployRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildRaidMemberDeployRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "Z3d9b0ew"; } + const char* GetAesKey() const override { return "Bd83Dakb"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildRaidMissionBattleEndRequestHandler.cpp b/gimuserver/gme/handlers/GuildRaidMissionBattleEndRequestHandler.cpp new file mode 100644 index 0000000..4bb8ed7 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidMissionBattleEndRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildRaidMissionBattleEndRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildRaidMissionBattleEndRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildRaidMissionBattleEndRequestHandler.hpp b/gimuserver/gme/handlers/GuildRaidMissionBattleEndRequestHandler.hpp new file mode 100644 index 0000000..6d134bd --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidMissionBattleEndRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildRaidMissionBattleEndRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "v83Diq7b"; } + const char* GetAesKey() const override { return "m39bDa01"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildRaidMissionBattleStartRequestHandler.cpp b/gimuserver/gme/handlers/GuildRaidMissionBattleStartRequestHandler.cpp new file mode 100644 index 0000000..3fc4dc8 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidMissionBattleStartRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildRaidMissionBattleStartRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildRaidMissionBattleStartRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildRaidMissionBattleStartRequestHandler.hpp b/gimuserver/gme/handlers/GuildRaidMissionBattleStartRequestHandler.hpp new file mode 100644 index 0000000..c464d62 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidMissionBattleStartRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildRaidMissionBattleStartRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "d735ub8o"; } + const char* GetAesKey() const override { return "bk7eob01"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildRaidQuestObjectiveRequestHandler.cpp b/gimuserver/gme/handlers/GuildRaidQuestObjectiveRequestHandler.cpp new file mode 100644 index 0000000..f128619 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidQuestObjectiveRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildRaidQuestObjectiveRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildRaidQuestObjectiveRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildRaidQuestObjectiveRequestHandler.hpp b/gimuserver/gme/handlers/GuildRaidQuestObjectiveRequestHandler.hpp new file mode 100644 index 0000000..4872bb0 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidQuestObjectiveRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildRaidQuestObjectiveRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "fd54Sey"; } + const char* GetAesKey() const override { return "F32dfFS"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildRaidRankingResultRequestHandler.cpp b/gimuserver/gme/handlers/GuildRaidRankingResultRequestHandler.cpp new file mode 100644 index 0000000..e3e9442 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidRankingResultRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildRaidRankingResultRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildRaidRankingResultRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildRaidRankingResultRequestHandler.hpp b/gimuserver/gme/handlers/GuildRaidRankingResultRequestHandler.hpp new file mode 100644 index 0000000..49b96d9 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidRankingResultRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildRaidRankingResultRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "W1Daxfnz"; } + const char* GetAesKey() const override { return "eMMfFDVJ"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildRaidRoomBattleStartRequestHandler.cpp b/gimuserver/gme/handlers/GuildRaidRoomBattleStartRequestHandler.cpp new file mode 100644 index 0000000..0fbc6ba --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidRoomBattleStartRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildRaidRoomBattleStartRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildRaidRoomBattleStartRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildRaidRoomBattleStartRequestHandler.hpp b/gimuserver/gme/handlers/GuildRaidRoomBattleStartRequestHandler.hpp new file mode 100644 index 0000000..dd6327a --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidRoomBattleStartRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildRaidRoomBattleStartRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "7di8aie9"; } + const char* GetAesKey() const override { return "yh8ak18b"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildRaidRoomCreateRequestHandler.cpp b/gimuserver/gme/handlers/GuildRaidRoomCreateRequestHandler.cpp new file mode 100644 index 0000000..9dcbd09 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidRoomCreateRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildRaidRoomCreateRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildRaidRoomCreateRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildRaidRoomCreateRequestHandler.hpp b/gimuserver/gme/handlers/GuildRaidRoomCreateRequestHandler.hpp new file mode 100644 index 0000000..5f2185f --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidRoomCreateRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildRaidRoomCreateRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "U83BiqDw"; } + const char* GetAesKey() const override { return "Cv3DaI3W"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildRaidRoomInfoRequestHandler.cpp b/gimuserver/gme/handlers/GuildRaidRoomInfoRequestHandler.cpp new file mode 100644 index 0000000..382f221 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidRoomInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildRaidRoomInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildRaidRoomInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildRaidRoomInfoRequestHandler.hpp b/gimuserver/gme/handlers/GuildRaidRoomInfoRequestHandler.hpp new file mode 100644 index 0000000..34a28e2 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidRoomInfoRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildRaidRoomInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "83kBdiqD"; } + const char* GetAesKey() const override { return "93Di3Ge8"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildRaidRoomListRequestHandler.cpp b/gimuserver/gme/handlers/GuildRaidRoomListRequestHandler.cpp new file mode 100644 index 0000000..0a49581 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidRoomListRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildRaidRoomListRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildRaidRoomListRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildRaidRoomListRequestHandler.hpp b/gimuserver/gme/handlers/GuildRaidRoomListRequestHandler.hpp new file mode 100644 index 0000000..c7ca345 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidRoomListRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildRaidRoomListRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "Q8Eib8Xv"; } + const char* GetAesKey() const override { return "UI3Da1B7"; } + // TODO: Response has 7 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildRaidRoomMemberKickRequestHandler.cpp b/gimuserver/gme/handlers/GuildRaidRoomMemberKickRequestHandler.cpp new file mode 100644 index 0000000..9b13051 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidRoomMemberKickRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildRaidRoomMemberKickRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildRaidRoomMemberKickRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildRaidRoomMemberKickRequestHandler.hpp b/gimuserver/gme/handlers/GuildRaidRoomMemberKickRequestHandler.hpp new file mode 100644 index 0000000..407f174 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidRoomMemberKickRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildRaidRoomMemberKickRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "M2dD4b0A"; } + const char* GetAesKey() const override { return "I2ixn4Ac"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildRaidRoomPartSkillListRequestHandler.cpp b/gimuserver/gme/handlers/GuildRaidRoomPartSkillListRequestHandler.cpp new file mode 100644 index 0000000..3fb1398 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidRoomPartSkillListRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildRaidRoomPartSkillListRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildRaidRoomPartSkillListRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildRaidRoomPartSkillListRequestHandler.hpp b/gimuserver/gme/handlers/GuildRaidRoomPartSkillListRequestHandler.hpp new file mode 100644 index 0000000..15ae6d3 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidRoomPartSkillListRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildRaidRoomPartSkillListRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "26ZGiseY"; } + const char* GetAesKey() const override { return "00dU9t9M"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildRaidRoomPartSkillSetRequestHandler.cpp b/gimuserver/gme/handlers/GuildRaidRoomPartSkillSetRequestHandler.cpp new file mode 100644 index 0000000..ad2b1b2 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidRoomPartSkillSetRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildRaidRoomPartSkillSetRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildRaidRoomPartSkillSetRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildRaidRoomPartSkillSetRequestHandler.hpp b/gimuserver/gme/handlers/GuildRaidRoomPartSkillSetRequestHandler.hpp new file mode 100644 index 0000000..d0f2428 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidRoomPartSkillSetRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildRaidRoomPartSkillSetRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "ZZ9xaJoi"; } + const char* GetAesKey() const override { return "sdtfUs9y"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildRaidRoomUpdatedRequestHandler.cpp b/gimuserver/gme/handlers/GuildRaidRoomUpdatedRequestHandler.cpp new file mode 100644 index 0000000..582203e --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidRoomUpdatedRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildRaidRoomUpdatedRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildRaidRoomUpdatedRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildRaidRoomUpdatedRequestHandler.hpp b/gimuserver/gme/handlers/GuildRaidRoomUpdatedRequestHandler.hpp new file mode 100644 index 0000000..129f0f4 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRaidRoomUpdatedRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildRaidRoomUpdatedRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "L3D9eK19"; } + const char* GetAesKey() const override { return "9Ur3Dkb3"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildRankingDetailRequestHandler.cpp b/gimuserver/gme/handlers/GuildRankingDetailRequestHandler.cpp new file mode 100644 index 0000000..c8b96c8 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRankingDetailRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildRankingDetailRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildRankingDetailRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildRankingDetailRequestHandler.hpp b/gimuserver/gme/handlers/GuildRankingDetailRequestHandler.hpp new file mode 100644 index 0000000..4870603 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRankingDetailRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildRankingDetailRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "7ekSBz2y"; } + const char* GetAesKey() const override { return "tWF58aK0"; } + // TODO: Response has 10 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildRankingRequestHandler.cpp b/gimuserver/gme/handlers/GuildRankingRequestHandler.cpp new file mode 100644 index 0000000..a5e30cb --- /dev/null +++ b/gimuserver/gme/handlers/GuildRankingRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildRankingRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildRankingRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildRankingRequestHandler.hpp b/gimuserver/gme/handlers/GuildRankingRequestHandler.hpp new file mode 100644 index 0000000..681f6b0 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRankingRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildRankingRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "2b9D01b4"; } + const char* GetAesKey() const override { return "23Djab0e"; } + // TODO: Response has 8 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildRecomendedMemberRequestHandler.cpp b/gimuserver/gme/handlers/GuildRecomendedMemberRequestHandler.cpp new file mode 100644 index 0000000..f8f3feb --- /dev/null +++ b/gimuserver/gme/handlers/GuildRecomendedMemberRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildRecomendedMemberRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildRecomendedMemberRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildRecomendedMemberRequestHandler.hpp b/gimuserver/gme/handlers/GuildRecomendedMemberRequestHandler.hpp new file mode 100644 index 0000000..1db48d2 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRecomendedMemberRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildRecomendedMemberRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "ja5Enusw"; } + const char* GetAesKey() const override { return "8upheqaC"; } + // TODO: Response has 7 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildResearchInfoRequestHandler.cpp b/gimuserver/gme/handlers/GuildResearchInfoRequestHandler.cpp new file mode 100644 index 0000000..cb1828f --- /dev/null +++ b/gimuserver/gme/handlers/GuildResearchInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildResearchInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildResearchInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildResearchInfoRequestHandler.hpp b/gimuserver/gme/handlers/GuildResearchInfoRequestHandler.hpp new file mode 100644 index 0000000..396884e --- /dev/null +++ b/gimuserver/gme/handlers/GuildResearchInfoRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildResearchInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "0Dl4rdsn"; } + const char* GetAesKey() const override { return "ndk4sS0s"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildRoundBattleSummaryRequestHandler.cpp b/gimuserver/gme/handlers/GuildRoundBattleSummaryRequestHandler.cpp new file mode 100644 index 0000000..d65a140 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRoundBattleSummaryRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildRoundBattleSummaryRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildRoundBattleSummaryRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildRoundBattleSummaryRequestHandler.hpp b/gimuserver/gme/handlers/GuildRoundBattleSummaryRequestHandler.hpp new file mode 100644 index 0000000..418d155 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRoundBattleSummaryRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildRoundBattleSummaryRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "aXPZmq9h"; } + const char* GetAesKey() const override { return "J90g7sZK"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildRoundSumarryRequestHandler.cpp b/gimuserver/gme/handlers/GuildRoundSumarryRequestHandler.cpp new file mode 100644 index 0000000..bcd7d70 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRoundSumarryRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildRoundSumarryRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildRoundSumarryRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildRoundSumarryRequestHandler.hpp b/gimuserver/gme/handlers/GuildRoundSumarryRequestHandler.hpp new file mode 100644 index 0000000..0700203 --- /dev/null +++ b/gimuserver/gme/handlers/GuildRoundSumarryRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildRoundSumarryRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "Xfpo7jE2"; } + const char* GetAesKey() const override { return "tVBMO5GW"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildSearchRequestHandler.cpp b/gimuserver/gme/handlers/GuildSearchRequestHandler.cpp new file mode 100644 index 0000000..e7d5283 --- /dev/null +++ b/gimuserver/gme/handlers/GuildSearchRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildSearchRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildSearchRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildSearchRequestHandler.hpp b/gimuserver/gme/handlers/GuildSearchRequestHandler.hpp new file mode 100644 index 0000000..b0238ec --- /dev/null +++ b/gimuserver/gme/handlers/GuildSearchRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildSearchRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "R38ba9M3"; } + const char* GetAesKey() const override { return "0D18dQn4"; } + // TODO: Response has 9 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildShopUseRequestHandler.cpp b/gimuserver/gme/handlers/GuildShopUseRequestHandler.cpp new file mode 100644 index 0000000..4645503 --- /dev/null +++ b/gimuserver/gme/handlers/GuildShopUseRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildShopUseRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildShopUseRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildShopUseRequestHandler.hpp b/gimuserver/gme/handlers/GuildShopUseRequestHandler.hpp new file mode 100644 index 0000000..e15c228 --- /dev/null +++ b/gimuserver/gme/handlers/GuildShopUseRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildShopUseRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "cXi7b58e"; } + const char* GetAesKey() const override { return "jK18btd0"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildTradeRequestHandler.cpp b/gimuserver/gme/handlers/GuildTradeRequestHandler.cpp new file mode 100644 index 0000000..e49a6be --- /dev/null +++ b/gimuserver/gme/handlers/GuildTradeRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildTradeRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildTradeRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildTradeRequestHandler.hpp b/gimuserver/gme/handlers/GuildTradeRequestHandler.hpp new file mode 100644 index 0000000..f6895af --- /dev/null +++ b/gimuserver/gme/handlers/GuildTradeRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildTradeRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "38adiJeb"; } + const char* GetAesKey() const override { return "ja3biAqb"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildUpdateRequestHandler.cpp b/gimuserver/gme/handlers/GuildUpdateRequestHandler.cpp new file mode 100644 index 0000000..e30f856 --- /dev/null +++ b/gimuserver/gme/handlers/GuildUpdateRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildUpdateRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildUpdateRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildUpdateRequestHandler.hpp b/gimuserver/gme/handlers/GuildUpdateRequestHandler.hpp new file mode 100644 index 0000000..39186ad --- /dev/null +++ b/gimuserver/gme/handlers/GuildUpdateRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildUpdateRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "92bDoqBi"; } + const char* GetAesKey() const override { return "w3Bne038"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildUpgradeContRequestHandler.cpp b/gimuserver/gme/handlers/GuildUpgradeContRequestHandler.cpp new file mode 100644 index 0000000..4b3e4a4 --- /dev/null +++ b/gimuserver/gme/handlers/GuildUpgradeContRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildUpgradeContRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildUpgradeContRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildUpgradeContRequestHandler.hpp b/gimuserver/gme/handlers/GuildUpgradeContRequestHandler.hpp new file mode 100644 index 0000000..85268d3 --- /dev/null +++ b/gimuserver/gme/handlers/GuildUpgradeContRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildUpgradeContRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "38bad198"; } + const char* GetAesKey() const override { return "d38bHiqj"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuildUpgradeRequestHandler.cpp b/gimuserver/gme/handlers/GuildUpgradeRequestHandler.cpp new file mode 100644 index 0000000..2842ef9 --- /dev/null +++ b/gimuserver/gme/handlers/GuildUpgradeRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuildUpgradeRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuildUpgradeRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuildUpgradeRequestHandler.hpp b/gimuserver/gme/handlers/GuildUpgradeRequestHandler.hpp new file mode 100644 index 0000000..612ce4e --- /dev/null +++ b/gimuserver/gme/handlers/GuildUpgradeRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuildUpgradeRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "a38B82bG"; } + const char* GetAesKey() const override { return "7Ykwq038"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/GuilldBattleMoveRequestHandler.cpp b/gimuserver/gme/handlers/GuilldBattleMoveRequestHandler.cpp new file mode 100644 index 0000000..e7acc33 --- /dev/null +++ b/gimuserver/gme/handlers/GuilldBattleMoveRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "GuilldBattleMoveRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::GuilldBattleMoveRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/GuilldBattleMoveRequestHandler.hpp b/gimuserver/gme/handlers/GuilldBattleMoveRequestHandler.hpp new file mode 100644 index 0000000..64d2733 --- /dev/null +++ b/gimuserver/gme/handlers/GuilldBattleMoveRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class GuilldBattleMoveRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "8b6DKiqz"; } + const char* GetAesKey() const override { return "b8akzyk1"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/HomeInfoHandler.cpp b/gimuserver/gme/handlers/HomeInfoHandler.cpp deleted file mode 100644 index 7df6c74..0000000 --- a/gimuserver/gme/handlers/HomeInfoHandler.cpp +++ /dev/null @@ -1,7 +0,0 @@ -#include "HomeInfoHandler.hpp" -#include "gme/response/ReinforcementInfo.hpp" - -void Handler::HomeInfoHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const -{ - -} diff --git a/gimuserver/gme/handlers/HomeInfoRequestHandler.cpp b/gimuserver/gme/handlers/HomeInfoRequestHandler.cpp new file mode 100644 index 0000000..06dfd2f --- /dev/null +++ b/gimuserver/gme/handlers/HomeInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "HomeInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::HomeInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/HomeInfoHandler.hpp b/gimuserver/gme/handlers/HomeInfoRequestHandler.hpp similarity index 85% rename from gimuserver/gme/handlers/HomeInfoHandler.hpp rename to gimuserver/gme/handlers/HomeInfoRequestHandler.hpp index 9ca39e6..8a31563 100644 --- a/gimuserver/gme/handlers/HomeInfoHandler.hpp +++ b/gimuserver/gme/handlers/HomeInfoRequestHandler.hpp @@ -3,7 +3,7 @@ #include "../GmeHandler.hpp" HANDLER_NS_BEGIN -class HomeInfoHandler : public HandlerBase +class HomeInfoRequestHandler : public HandlerBase { public: const char* GetGroupId() const override { return "NiYWKdzs"; } diff --git a/gimuserver/gme/handlers/InboxMessageManageRequestHandler.cpp b/gimuserver/gme/handlers/InboxMessageManageRequestHandler.cpp new file mode 100644 index 0000000..a6e89d3 --- /dev/null +++ b/gimuserver/gme/handlers/InboxMessageManageRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "InboxMessageManageRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::InboxMessageManageRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/InboxMessageManageRequestHandler.hpp b/gimuserver/gme/handlers/InboxMessageManageRequestHandler.hpp new file mode 100644 index 0000000..10cb190 --- /dev/null +++ b/gimuserver/gme/handlers/InboxMessageManageRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class InboxMessageManageRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "rYSfaC4P"; } + const char* GetAesKey() const override { return "0R9ZPaSf"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/InitializeHandler.cpp b/gimuserver/gme/handlers/InitializeRequest2Handler.cpp similarity index 67% rename from gimuserver/gme/handlers/InitializeHandler.cpp rename to gimuserver/gme/handlers/InitializeRequest2Handler.cpp index 6db0dd9..82a6f37 100644 --- a/gimuserver/gme/handlers/InitializeHandler.cpp +++ b/gimuserver/gme/handlers/InitializeRequest2Handler.cpp @@ -1,8 +1,14 @@ -#include "InitializeHandler.hpp" +#include "InitializeRequest2Handler.hpp" #include "core/Utils.hpp" #include "core/System.hpp" #include "gme/requests/UserInfo.hpp" #include "gme/response/UserInfo.hpp" +// DEV_SKIP_TUTORIAL flag — defined in AccountController.hpp/cpp. +// We need it here to gate the tutorialEndFlag force-set in OnUserInfoSuccess. +// TODO (tutorial): Remove this include when DEV_SKIP_TUTORIAL is retired. +#ifndef DEV_SKIP_TUTORIAL +#define DEV_SKIP_TUTORIAL 0 +#endif #include "gme/response/SignalKey.hpp" #include "gme/response/ChallengeArenaUserInfo.hpp" #include "gme/response/DailyTaskPrizeMst.hpp" @@ -18,7 +24,7 @@ #include "gme/response/SummonerJournalUserInfo.hpp" #include "db/DbMacro.hpp" -void Handler::InitializeHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +void Handler::InitializeRequest2Handler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const { Request::UserInfo inInfo; inInfo.Deserialize(req); @@ -31,7 +37,8 @@ void Handler::InitializeHandler::Handle(UserInfo& user, DrogonCallback cb, const ); } -void Handler::InitializeHandler::OnUserInfoSuccess(const drogon::orm::Result& result, DrogonCallback cb, UserInfo& user) const + +void Handler::InitializeRequest2Handler::OnUserInfoSuccess(const drogon::orm::Result& result, DrogonCallback cb, UserInfo& user) const { if (result.size() > 0) { @@ -40,8 +47,30 @@ void Handler::InitializeHandler::OnUserInfoSuccess(const drogon::orm::Result& re user.info.accountID = sql[col++].as(); user.info.handleName = sql[col++].as(); user.info.debugMode = sql[col++].as() ? 1 : 0; + + // DEV_SKIP_TUTORIAL: Force tutorial complete for all existing users. + // + // Root cause of the post-asset-validation crash: + // AccountController::HandleGuest inserts the user row into the DB before + // this handler is ever called, so result.size() > 0 is ALWAYS true for our + // seeded account. The else-branch below (which sets tutorialEndFlag=1) is + // therefore never reached. tutorialEndFlag stays at the struct default of 0, + // the client receives "tutorial not complete", attempts the tutorial sequence, + // hits an unimplemented tutorial handler, gets a bad/empty response, crashes. + // + // TODO (tutorial): Remove this block once tutorialEndFlag is persisted in the + // users table. Add a tutorial_end_flag INTEGER column via a new migration: + // "ALTER TABLE users ADD COLUMN tutorial_end_flag INTEGER DEFAULT 0;" + // The tutorial-completion handler should UPDATE it to 1 after the player + // picks their starter unit. Read it back here alongside account_id/username. +#if DEV_SKIP_TUTORIAL + user.info.tutorialEndFlag = 1; + user.info.tutorialStatus = 0; +#endif } else { + // New user that somehow isn't in the DB yet (race between HandleGuest's async + // INSERT and this handler being called -- should be rare but possible). user.info.handleName = "BFOM: 03/03/2024"; user.info.debugMode = false; user.info.accountID = Utils::RandomAccountID(); @@ -110,8 +139,8 @@ void Handler::InitializeHandler::OnUserInfoSuccess(const drogon::orm::Result& re { Response::DailyTaskMst dailyTasks; - // TODO: we need a daily task table so that we - // can select how many daily tasks we can do + // TODO: we need a daily task table so that we + // can select how many daily tasks we can do Response::DailyTaskMst::Data d; d.typeKey = "AV"; d.typeTitle = "Arena Victory"; @@ -159,4 +188,4 @@ void Handler::InitializeHandler::OnUserInfoSuccess(const drogon::orm::Result& re msts.CopyInitializeMstTo(res); cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); -} +} \ No newline at end of file diff --git a/gimuserver/gme/handlers/InitializeHandler.hpp b/gimuserver/gme/handlers/InitializeRequest2Handler.hpp similarity index 88% rename from gimuserver/gme/handlers/InitializeHandler.hpp rename to gimuserver/gme/handlers/InitializeRequest2Handler.hpp index e021ca4..f22d116 100644 --- a/gimuserver/gme/handlers/InitializeHandler.hpp +++ b/gimuserver/gme/handlers/InitializeRequest2Handler.hpp @@ -3,7 +3,7 @@ #include "../GmeHandler.hpp" HANDLER_NS_BEGIN -class InitializeHandler : public HandlerBase +class InitializeRequest2Handler : public HandlerBase { public: const char* GetGroupId() const override { return "MfZyu1q9"; } diff --git a/gimuserver/gme/handlers/InitializeRequestHandler.cpp b/gimuserver/gme/handlers/InitializeRequestHandler.cpp new file mode 100644 index 0000000..ebbfa19 --- /dev/null +++ b/gimuserver/gme/handlers/InitializeRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "InitializeRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::InitializeRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/InitializeRequestHandler.hpp b/gimuserver/gme/handlers/InitializeRequestHandler.hpp new file mode 100644 index 0000000..3ee6f4f --- /dev/null +++ b/gimuserver/gme/handlers/InitializeRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class InitializeRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "MfZyu1q9"; } + const char* GetAesKey() const override { return "EmcshnQoDr20TZz1"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/InvitationReceiptRequestHandler.cpp b/gimuserver/gme/handlers/InvitationReceiptRequestHandler.cpp new file mode 100644 index 0000000..c64d798 --- /dev/null +++ b/gimuserver/gme/handlers/InvitationReceiptRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "InvitationReceiptRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::InvitationReceiptRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/InvitationReceiptRequestHandler.hpp b/gimuserver/gme/handlers/InvitationReceiptRequestHandler.hpp new file mode 100644 index 0000000..1392618 --- /dev/null +++ b/gimuserver/gme/handlers/InvitationReceiptRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class InvitationReceiptRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "7Zxr9PzB"; } + const char* GetAesKey() const override { return "7s5Ic3Nx"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ItemEditRequestHandler.cpp b/gimuserver/gme/handlers/ItemEditRequestHandler.cpp new file mode 100644 index 0000000..6e0a0b3 --- /dev/null +++ b/gimuserver/gme/handlers/ItemEditRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ItemEditRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ItemEditRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ItemEditRequestHandler.hpp b/gimuserver/gme/handlers/ItemEditRequestHandler.hpp new file mode 100644 index 0000000..14dab15 --- /dev/null +++ b/gimuserver/gme/handlers/ItemEditRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ItemEditRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "ruoB7bD8"; } + const char* GetAesKey() const override { return "DHEfRexCu0q5TAQm"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ItemFavoriteRequestHandler.cpp b/gimuserver/gme/handlers/ItemFavoriteRequestHandler.cpp new file mode 100644 index 0000000..3a75e15 --- /dev/null +++ b/gimuserver/gme/handlers/ItemFavoriteRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ItemFavoriteRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ItemFavoriteRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ItemFavoriteRequestHandler.hpp b/gimuserver/gme/handlers/ItemFavoriteRequestHandler.hpp new file mode 100644 index 0000000..343a5a9 --- /dev/null +++ b/gimuserver/gme/handlers/ItemFavoriteRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ItemFavoriteRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "I8il6EiI"; } + const char* GetAesKey() const override { return "aRoIftRy"; } + // TODO: Response has 2 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ItemMixRequestHandler.cpp b/gimuserver/gme/handlers/ItemMixRequestHandler.cpp new file mode 100644 index 0000000..b319110 --- /dev/null +++ b/gimuserver/gme/handlers/ItemMixRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ItemMixRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ItemMixRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ItemMixRequestHandler.hpp b/gimuserver/gme/handlers/ItemMixRequestHandler.hpp new file mode 100644 index 0000000..53bbbd1 --- /dev/null +++ b/gimuserver/gme/handlers/ItemMixRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ItemMixRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "4P5GELTF"; } + const char* GetAesKey() const override { return "AFqKIJ8Z4mHPB9xg"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ItemSellRequestHandler.cpp b/gimuserver/gme/handlers/ItemSellRequestHandler.cpp new file mode 100644 index 0000000..e22df40 --- /dev/null +++ b/gimuserver/gme/handlers/ItemSellRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ItemSellRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ItemSellRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ItemSellRequestHandler.hpp b/gimuserver/gme/handlers/ItemSellRequestHandler.hpp new file mode 100644 index 0000000..d85a2e2 --- /dev/null +++ b/gimuserver/gme/handlers/ItemSellRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ItemSellRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "qDQerU74"; } + const char* GetAesKey() const override { return "73aFNjPu"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ItemSphereEqpRequestHandler.cpp b/gimuserver/gme/handlers/ItemSphereEqpRequestHandler.cpp new file mode 100644 index 0000000..e7d5486 --- /dev/null +++ b/gimuserver/gme/handlers/ItemSphereEqpRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ItemSphereEqpRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ItemSphereEqpRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ItemSphereEqpRequestHandler.hpp b/gimuserver/gme/handlers/ItemSphereEqpRequestHandler.hpp new file mode 100644 index 0000000..94fe269 --- /dev/null +++ b/gimuserver/gme/handlers/ItemSphereEqpRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ItemSphereEqpRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "0IXGiC9t"; } + const char* GetAesKey() const override { return "CZE56XAY"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ItemUseTimeLimitRequestHandler.cpp b/gimuserver/gme/handlers/ItemUseTimeLimitRequestHandler.cpp new file mode 100644 index 0000000..b0b3e1b --- /dev/null +++ b/gimuserver/gme/handlers/ItemUseTimeLimitRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ItemUseTimeLimitRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ItemUseTimeLimitRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ItemUseTimeLimitRequestHandler.hpp b/gimuserver/gme/handlers/ItemUseTimeLimitRequestHandler.hpp new file mode 100644 index 0000000..fa84620 --- /dev/null +++ b/gimuserver/gme/handlers/ItemUseTimeLimitRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ItemUseTimeLimitRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "4eCLR4rq"; } + const char* GetAesKey() const override { return "1O3NPf93"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/MinigameCardEndRequestHandler.cpp b/gimuserver/gme/handlers/MinigameCardEndRequestHandler.cpp new file mode 100644 index 0000000..76e37ac --- /dev/null +++ b/gimuserver/gme/handlers/MinigameCardEndRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "MinigameCardEndRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::MinigameCardEndRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/MinigameCardEndRequestHandler.hpp b/gimuserver/gme/handlers/MinigameCardEndRequestHandler.hpp new file mode 100644 index 0000000..0b04f01 --- /dev/null +++ b/gimuserver/gme/handlers/MinigameCardEndRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class MinigameCardEndRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "jJKzi0v2"; } + const char* GetAesKey() const override { return "eHt7ob1v"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/MinigameFriendListRequestHandler.cpp b/gimuserver/gme/handlers/MinigameFriendListRequestHandler.cpp new file mode 100644 index 0000000..d660569 --- /dev/null +++ b/gimuserver/gme/handlers/MinigameFriendListRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "MinigameFriendListRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::MinigameFriendListRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/MinigameFriendListRequestHandler.hpp b/gimuserver/gme/handlers/MinigameFriendListRequestHandler.hpp new file mode 100644 index 0000000..3685adc --- /dev/null +++ b/gimuserver/gme/handlers/MinigameFriendListRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class MinigameFriendListRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "Hjk84giw"; } + const char* GetAesKey() const override { return "9qg5s7ob"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/MinigameNameEntryRequestHandler.cpp b/gimuserver/gme/handlers/MinigameNameEntryRequestHandler.cpp new file mode 100644 index 0000000..d027ab0 --- /dev/null +++ b/gimuserver/gme/handlers/MinigameNameEntryRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "MinigameNameEntryRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::MinigameNameEntryRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/MinigameNameEntryRequestHandler.hpp b/gimuserver/gme/handlers/MinigameNameEntryRequestHandler.hpp new file mode 100644 index 0000000..d8ec502 --- /dev/null +++ b/gimuserver/gme/handlers/MinigameNameEntryRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class MinigameNameEntryRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "oT8OP9Bp"; } + const char* GetAesKey() const override { return "0xzd3AlK"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/MinigameRankingInfoRequestHandler.cpp b/gimuserver/gme/handlers/MinigameRankingInfoRequestHandler.cpp new file mode 100644 index 0000000..d722408 --- /dev/null +++ b/gimuserver/gme/handlers/MinigameRankingInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "MinigameRankingInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::MinigameRankingInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/MinigameRankingInfoRequestHandler.hpp b/gimuserver/gme/handlers/MinigameRankingInfoRequestHandler.hpp new file mode 100644 index 0000000..cce7689 --- /dev/null +++ b/gimuserver/gme/handlers/MinigameRankingInfoRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class MinigameRankingInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "XrfDHUJo"; } + const char* GetAesKey() const override { return "cw9sw5y2"; } + // TODO: Response has 4 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/MinigameSmashEndRequestHandler.cpp b/gimuserver/gme/handlers/MinigameSmashEndRequestHandler.cpp new file mode 100644 index 0000000..f91df6d --- /dev/null +++ b/gimuserver/gme/handlers/MinigameSmashEndRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "MinigameSmashEndRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::MinigameSmashEndRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/MinigameSmashEndRequestHandler.hpp b/gimuserver/gme/handlers/MinigameSmashEndRequestHandler.hpp new file mode 100644 index 0000000..2dba0ab --- /dev/null +++ b/gimuserver/gme/handlers/MinigameSmashEndRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class MinigameSmashEndRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "jJKzi0v2"; } + const char* GetAesKey() const override { return "eHt7ob1v"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/MinigameStartRequestHandler.cpp b/gimuserver/gme/handlers/MinigameStartRequestHandler.cpp new file mode 100644 index 0000000..f1cf6bd --- /dev/null +++ b/gimuserver/gme/handlers/MinigameStartRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "MinigameStartRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::MinigameStartRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/MinigameStartRequestHandler.hpp b/gimuserver/gme/handlers/MinigameStartRequestHandler.hpp new file mode 100644 index 0000000..7be0f62 --- /dev/null +++ b/gimuserver/gme/handlers/MinigameStartRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class MinigameStartRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "SR7tf9pa"; } + const char* GetAesKey() const override { return "XBSu90iF"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/MissionContinueRequestHandler.cpp b/gimuserver/gme/handlers/MissionContinueRequestHandler.cpp new file mode 100644 index 0000000..5222dc0 --- /dev/null +++ b/gimuserver/gme/handlers/MissionContinueRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "MissionContinueRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::MissionContinueRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/MissionContinueRequestHandler.hpp b/gimuserver/gme/handlers/MissionContinueRequestHandler.hpp new file mode 100644 index 0000000..c865d88 --- /dev/null +++ b/gimuserver/gme/handlers/MissionContinueRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class MissionContinueRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "p8B2i9rJ"; } + const char* GetAesKey() const override { return "G3FwvQfy5hcxHMen"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/MissionEndRequestHandler.cpp b/gimuserver/gme/handlers/MissionEndRequestHandler.cpp new file mode 100644 index 0000000..1d667e0 --- /dev/null +++ b/gimuserver/gme/handlers/MissionEndRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "MissionEndRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::MissionEndRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/MissionEndRequestHandler.hpp b/gimuserver/gme/handlers/MissionEndRequestHandler.hpp new file mode 100644 index 0000000..9f53419 --- /dev/null +++ b/gimuserver/gme/handlers/MissionEndRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class MissionEndRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "9TvyNR5H"; } + const char* GetAesKey() const override { return "oINq0rfUFPx5MgmT"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/MissionRestartRequestHandler.cpp b/gimuserver/gme/handlers/MissionRestartRequestHandler.cpp new file mode 100644 index 0000000..c6b8c91 --- /dev/null +++ b/gimuserver/gme/handlers/MissionRestartRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "MissionRestartRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::MissionRestartRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/MissionRestartRequestHandler.hpp b/gimuserver/gme/handlers/MissionRestartRequestHandler.hpp new file mode 100644 index 0000000..5e7eccd --- /dev/null +++ b/gimuserver/gme/handlers/MissionRestartRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class MissionRestartRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "IP96ys7T"; } + const char* GetAesKey() const override { return "0Zy3G9eD"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/MissionStartHandler.cpp b/gimuserver/gme/handlers/MissionStartHandler.cpp deleted file mode 100644 index 8800612..0000000 --- a/gimuserver/gme/handlers/MissionStartHandler.cpp +++ /dev/null @@ -1,8 +0,0 @@ -#include "MissionStartHandler.hpp" - -void Handler::MissionStartHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const -{ - Json::Value res; - - cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); -} diff --git a/gimuserver/gme/handlers/MissionStartRequestHandler.cpp b/gimuserver/gme/handlers/MissionStartRequestHandler.cpp new file mode 100644 index 0000000..dae066f --- /dev/null +++ b/gimuserver/gme/handlers/MissionStartRequestHandler.cpp @@ -0,0 +1,535 @@ +#include "MissionStartRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "gme/response/MissionStartInfo.hpp" +#include "core/System.hpp" + +void Handler::MissionStartRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + Response::MissionStartInfo missionInfo; + Response::MissionStartInfo::Data d; + d.userID = user.info.userID; + d.reinforceUserID = "n9ZMPC0t"; + d.friendPoint = 42640; + d.missionID = "10"; + d.deckNum = 1; + missionInfo.Mst.emplace_back(d); + missionInfo.Serialize(res); + + { + Json::Value status; + status["Kn51uR4Y"] = "0h6Q08SL"; + res["6FrKacq7"].append(status); + } + + { + Json::Value userState; + userState["h7eY3sAK"] = "n9ZMPC0t"; + userState["D9wXQI2V"] = "309"; + userState["d96tuT2E"] = "232666"; + userState["YnM14RIP"] = "199"; + userState["0P9X1YHs"] = "196"; + userState["V0yJS7vZ"] = "1650627374"; + userState["f0IY4nj8"] = 540; + userState["9m5FWR8q"] = "3"; + userState["YS2JG9no"] = "2"; + userState["32HCWt51"] = "1650627005"; + userState["jp9s8IyY"] = 3231; + userState["ouXxIY63"] = "150"; + userState["Px1X7fcd"] = "620"; + userState["QYP4kId9"] = "383"; + userState["Z0Y4RoD7"] = "1"; + userState["gKNfIZiA"] = 2; + userState["TwqMChon"] = "-1,-99,-99"; + userState["3u41PhR2"] = "50"; + userState["2rR5s6wn"] = "0"; + userState["5pjoGBC4"] = "200"; + userState["iI7Wj6pM"] = "125"; + userState["J3stQ7jd"] = "42640"; + userState["Najhr8m6"] = "64394391"; + userState["HTVh8a65"] = "99202910"; + userState["03UGMHxF"] = "225"; + userState["bM7RLu5K"] = "La Gimu Trolla PUNTO"; + userState["s2WnRw9N"] = "460,420,430,0,0"; + userState["EfinBo65"] = "7"; + userState["qVBx7g2c"] = "0"; + userState["1RQT92uE"] = "0"; + userState["kW5QuUz7"] = "20220422"; + userState["3w6YDS4z"] = "3"; + userState["lKuj3Ier"] = ""; + userState["JmFn3g9t"] = "0"; + userState["9r3aLmaB"] = "1"; + userState["bya9a67k"] = "2580"; + userState["22rqpZTo"] = "3285"; + userState["KAZmxkgy"] = 0; + userState["AKP8t3xK"] = 0; + userState["Nou5bCmm"] = 0; + userState["s3uU4Lgb"] = 1; + userState["3a8b9D8i"] = "0"; + userState["7qncTHUJ"] = 0; + userState["38d7D18b"] = 0; + userState["D38bda8B"] = 0; + userState["Qo9doUsp"] = 0; + userState["d37CaiX1"] = 0; + userState["92uj7oXB"] = 0; + res["fEi17cnx"].append(userState); + } + + { + Json::Value reinforceUser; + reinforceUser["h7eY3sAK"] = "n9ZMPC0t"; + reinforceUser["dD64grYH"] = "334"; + reinforceUser["3w6YDS4z"] = "20"; + reinforceUser["d96tuT2E"] = "36216751"; + reinforceUser["pThS5FE3"] = "152762744"; + reinforceUser["mn5Tj3fz"] = "125539575"; + reinforceUser["jG91JRxN"] = "36137127"; + reinforceUser["06phPeqv"] = "35791092"; + reinforceUser["Zq8ej5IN"] = "346035"; + reinforceUser["isRx41jy"] = "147217074"; + reinforceUser["20qd9shE"] = "48090082"; + reinforceUser["Sf95jez7"] = 146280; + reinforceUser["I29Qgxot"] = "124800"; + reinforceUser["WMC6rNF1"] = "702"; + reinforceUser["Z93pUQhG"] = "2180"; + reinforceUser["Rc6St9h1"] = "45"; + reinforceUser["k5Sjn9Zq"] = "7849"; + reinforceUser["c3Bo97kI"] = "2674"; + reinforceUser["Gt2msFb1"] = "7050"; + reinforceUser["07HgoLtC"] = "1"; + reinforceUser["AEz43gai"] = "0"; + reinforceUser["8CEu9Kcm"] = "0"; + reinforceUser["3DBVLY8H"] = "2887"; + reinforceUser["c4im6B2v"] = 2092; + reinforceUser["UCN04WxE"] = "1994"; + reinforceUser["ovFJ6Hp0"] = "15045"; + reinforceUser["TW1Mrtp5"] = "502"; + reinforceUser["5NRJQ1LU"] = "824760049"; + reinforceUser["XP06YWdT"] = "569"; + reinforceUser["U8uZLA34"] = "666505"; + reinforceUser["rZQJF5G9"] = "51673"; + reinforceUser["0LwvAF3H"] = "10523"; + reinforceUser["rQ3TAy6I"] = "10116"; + reinforceUser["hoG2ieT5"] = "5461379"; + reinforceUser["6PLsn8xo"] = "2114221"; + reinforceUser["84BC2kXw"] = "3418"; + reinforceUser["5pg7MYCQ"] = "576"; + reinforceUser["mFID53JZ"] = "1124"; + reinforceUser["e6BKoYy9"] = "1814061344"; + res["zI2tJB7R"].append(reinforceUser); + } + + { + Json::Value mission; + mission["ZSf8e1MG"] = "11"; + mission["j28VNcUW"] = "10"; + mission["VETu07N6"] = "1"; + mission["ug9xV4Fz"] = "50"; + mission["5aetPz3C"] = "0"; + mission["mFxqsc7Y"] = "0"; + mission["etM5TCb9"] = "0"; + mission["Qzhp8B40"] = "101301"; + res["pj41dy9g"].append(mission); + + mission["ZSf8e1MG"] = "12"; + mission["j28VNcUW"] = "10"; + mission["VETu07N6"] = "2"; + mission["ug9xV4Fz"] = "50"; + mission["5aetPz3C"] = "0"; + mission["mFxqsc7Y"] = "0"; + mission["etM5TCb9"] = "0"; + mission["Qzhp8B40"] = "101302"; + res["pj41dy9g"].append(mission); + + mission["ZSf8e1MG"] = "14"; + mission["j28VNcUW"] = "10"; + mission["VETu07N6"] = "3"; + mission["ug9xV4Fz"] = "50"; + mission["5aetPz3C"] = "0"; + mission["mFxqsc7Y"] = "0"; + mission["etM5TCb9"] = "0"; + mission["Qzhp8B40"] = "101300"; + res["pj41dy9g"].append(mission); + + mission["ZSf8e1MG"] = "16"; + mission["j28VNcUW"] = "10"; + mission["VETu07N6"] = "4"; + mission["ug9xV4Fz"] = "50"; + mission["5aetPz3C"] = "0"; + mission["mFxqsc7Y"] = "0"; + mission["etM5TCb9"] = "0"; + mission["Qzhp8B40"] = "101302"; + res["pj41dy9g"].append(mission); + + mission["ZSf8e1MG"] = "18"; + mission["j28VNcUW"] = "10"; + mission["VETu07N6"] = "5"; + mission["ug9xV4Fz"] = "100"; + mission["5aetPz3C"] = "0"; + mission["mFxqsc7Y"] = "0"; + mission["etM5TCb9"] = "1"; + mission["Qzhp8B40"] = "101304"; + res["pj41dy9g"].append(mission); + } + + { + Json::Value bonus; + bonus["k9cxD7Ba"] = "58844709"; + bonus["j3g5P4cq"] = "1"; + bonus["nA95Bdj6"] = "0"; + bonus["5Z1LNoyH"] = "0"; + bonus["LE6JkUp7"] = "1|0:25:30030:1:1| @2|0:25:10030:1:1| @3| |1/1/4:25:10000:1@4|1:30:50030:2:2| @5| | "; + res["Kz7qfSs5"].append(bonus); + } + + { + Json::Value missionData; + missionData["Qzhp8B40"] = "101301"; + missionData["q9I4karx"] = "??????1-2"; + missionData["o49dYfpH"] = "30352"; + missionData["hZtF1s8B"] = "0"; + missionData["3g8PW6x0"] = "180:302"; + missionData["i30R8TAs"] = "7:10000:3,7:10300:3"; + missionData["hw3L0uVj"] = "25:30030:1:0,30:30030:2:0"; + missionData["5wB9SHAV"] = "15,25:500,25:250,25:10,25:10000:1"; + res["75t0sx9z"].append(missionData); + + missionData["Qzhp8B40"] = "101301"; + missionData["q9I4karx"] = "??????1-2"; + missionData["o49dYfpH"] = "40352"; + missionData["hZtF1s8B"] = "1"; + missionData["3g8PW6x0"] = "120:248"; + missionData["i30R8TAs"] = "7:10000:3,7:10300:3"; + missionData["hw3L0uVj"] = "25:40030:1:0,30:40030:2:0"; + missionData["5wB9SHAV"] = "15,25:500,25:250,25:10,25:10000:1"; + res["75t0sx9z"].append(missionData); + + missionData["Qzhp8B40"] = "101302"; + missionData["q9I4karx"] = "??????2-1"; + missionData["o49dYfpH"] = "10352"; + missionData["hZtF1s8B"] = "0"; + missionData["3g8PW6x0"] = "180:302"; + missionData["i30R8TAs"] = "7:10000:3,7:10300:3"; + missionData["hw3L0uVj"] = "25:10030:1:0,30:10030:2:0"; + missionData["5wB9SHAV"] = "15,25:500,25:250,25:10,25:10000:1"; + res["75t0sx9z"].append(missionData); + + missionData["Qzhp8B40"] = "101302"; + missionData["q9I4karx"] = "??????2-1"; + missionData["o49dYfpH"] = "50352"; + missionData["hZtF1s8B"] = "1"; + missionData["3g8PW6x0"] = "120:248"; + missionData["i30R8TAs"] = "7:10000:3,7:10300:3"; + missionData["hw3L0uVj"] = "25:50030:1:0,30:50030:2:0"; + missionData["5wB9SHAV"] = "15,25:500,25:250,25:10,25:10000:1"; + res["75t0sx9z"].append(missionData); + + missionData["Qzhp8B40"] = "101302"; + missionData["q9I4karx"] = "??????2-1"; + missionData["o49dYfpH"] = "30352"; + missionData["hZtF1s8B"] = "2"; + missionData["3g8PW6x0"] = "96:352"; + missionData["i30R8TAs"] = "7:10000:3,7:10300:3"; + missionData["hw3L0uVj"] = "25:30030:1:0,30:30030:2:0"; + missionData["5wB9SHAV"] = "15,25:500,25:250,25:10,25:10000:1"; + res["75t0sx9z"].append(missionData); + + missionData["Qzhp8B40"] = "101300"; + missionData["q9I4karx"] = "??????1-1"; + missionData["o49dYfpH"] = "10352"; + missionData["hZtF1s8B"] = "0"; + missionData["3g8PW6x0"] = "180:302"; + missionData["i30R8TAs"] = "7:10000:3,7:10300:3"; + missionData["hw3L0uVj"] = "25:10030:1:0,30:10030:2:0"; + missionData["5wB9SHAV"] = "15,25:500,25:250,25:10,25:10000:1"; + res["75t0sx9z"].append(missionData); + + missionData["Qzhp8B40"] = "101300"; + missionData["q9I4karx"] = "??????1-1"; + missionData["o49dYfpH"] = "20352"; + missionData["hZtF1s8B"] = "1"; + missionData["3g8PW6x0"] = "120:248"; + missionData["i30R8TAs"] = "7:10000:3,7:10300:3"; + missionData["hw3L0uVj"] = "25:20030:1:0,30:20030:2:0"; + missionData["5wB9SHAV"] = "15,25:500,25:250,25:10,25:10000:1"; + res["75t0sx9z"].append(missionData); + + missionData["Qzhp8B40"] = "101304"; + missionData["q9I4karx"] = "??????boss"; + missionData["o49dYfpH"] = "40401"; + missionData["hZtF1s8B"] = "0"; + missionData["3g8PW6x0"] = "180:302"; + missionData["i30R8TAs"] = "7:10301:5,3:10603:1"; + missionData["hw3L0uVj"] = "0:0:0:0,0:0:0:0"; + missionData["5wB9SHAV"] = "0,25:500,25:250,25:10,25:10301:1"; + res["75t0sx9z"].append(missionData); + } + + { + Json::Value enemy; + enemy["o49dYfpH"] = "30352"; + enemy["Btf93Xs1"] = "????Lv2"; + enemy["3evIn0zZ"] = "????"; + enemy["e7DK0FQT"] = "830"; + enemy["67CApcti"] = "340"; + enemy["q08xLEsy"] = "90"; + enemy["CEeqs63b"] = "0:0:0:0:0:0"; + enemy["iNy0ZU5M"] = "3"; + enemy["eyUo6a8c"] = "24:123:1"; + enemy["6Aou5M9r"] = "30:100:2:1"; + enemy["n9h7p02P"] = "1"; + enemy["Najhr8m6"] = "33"; + enemy["9FN0GAei"] = "5"; + enemy["HTVh8a65"] = "21"; + enemy["vNk2sI4X"] = "5"; + enemy["9pXSKmn1"] = "5"; + enemy["J2hPXGo5"] = "2"; + enemy["mv4o39Uz"] = "1"; + enemy["h2L1YI90"] = "1"; + enemy["XE7Yi5c3"] = "1"; + enemy["D4Y5bWK7"] = "1"; + enemy["oMGC3hW0"] = "1"; + enemy["m4EK7Gt6"] = "1"; + enemy["6fwL59FT"] = "100.00"; + enemy["i74vGUFa"] = "1"; + enemy["F4bQ7r8C"] = ""; + enemy["hjAy9St3"] = ""; + enemy["2Smu5Mtq"] = ""; + enemy["2EF0d6ue"] = ""; + enemy["QqfI9mM4"] = ""; + enemy["CYk84E3W"] = "0,0"; + enemy["3BpHN6VD"] = ""; + enemy["Lkh6gYkT"] = "0,0"; + enemy["pn16CNah"] = "30030"; + enemy["Y6bd4fXp"] = "0,0,0"; + enemy["jm6JSK2D"] = ""; + enemy["qp37xTDh"] = "??87"; + res["U0v5IeJo"].append(enemy); + + enemy["o49dYfpH"] = "40352"; + enemy["Btf93Xs1"] = "????Lv2"; + enemy["3evIn0zZ"] = "????"; + enemy["e7DK0FQT"] = "760"; + enemy["67CApcti"] = "370"; + enemy["q08xLEsy"] = "0"; + enemy["CEeqs63b"] = "0:0:0:0:0:0"; + enemy["iNy0ZU5M"] = "4"; + enemy["eyUo6a8c"] = "24:124:1"; + enemy["6Aou5M9r"] = "30:100:2:1"; + enemy["n9h7p02P"] = "1"; + enemy["Najhr8m6"] = "30"; + enemy["9FN0GAei"] = "5"; + enemy["HTVh8a65"] = "19"; + enemy["vNk2sI4X"] = "5"; + enemy["9pXSKmn1"] = "2"; + enemy["J2hPXGo5"] = "2"; + enemy["mv4o39Uz"] = "1"; + enemy["h2L1YI90"] = "1"; + enemy["XE7Yi5c3"] = "1"; + enemy["D4Y5bWK7"] = "1"; + enemy["oMGC3hW0"] = "1"; + enemy["m4EK7Gt6"] = "1"; + enemy["6fwL59FT"] = "100.00"; + enemy["i74vGUFa"] = "1"; + enemy["F4bQ7r8C"] = ""; + enemy["hjAy9St3"] = ""; + enemy["2Smu5Mtq"] = ""; + enemy["2EF0d6ue"] = ""; + enemy["QqfI9mM4"] = ""; + enemy["CYk84E3W"] = "0,0"; + enemy["3BpHN6VD"] = ""; + enemy["Lkh6gYkT"] = "0,0"; + enemy["pn16CNah"] = "40030"; + enemy["Y6bd4fXp"] = "0,0,0"; + enemy["jm6JSK2D"] = ""; + enemy["qp37xTDh"] = "??120"; + res["U0v5IeJo"].append(enemy); + + enemy["o49dYfpH"] = "10352"; + enemy["Btf93Xs1"] = "????Lv2"; + enemy["3evIn0zZ"] = "????"; + enemy["e7DK0FQT"] = "800"; + enemy["67CApcti"] = "320"; + enemy["q08xLEsy"] = "50"; + enemy["CEeqs63b"] = "0:0:0:0:0:0"; + enemy["iNy0ZU5M"] = "1"; + enemy["eyUo6a8c"] = "24:121:1"; + enemy["6Aou5M9r"] = "30:100:2:1"; + enemy["n9h7p02P"] = "3"; + enemy["Najhr8m6"] = "32"; + enemy["9FN0GAei"] = "5"; + enemy["HTVh8a65"] = "20"; + enemy["vNk2sI4X"] = "5"; + enemy["9pXSKmn1"] = "5"; + enemy["J2hPXGo5"] = "2"; + enemy["mv4o39Uz"] = "1"; + enemy["h2L1YI90"] = "1"; + enemy["XE7Yi5c3"] = "1"; + enemy["D4Y5bWK7"] = "1"; + enemy["oMGC3hW0"] = "1"; + enemy["m4EK7Gt6"] = "1"; + enemy["6fwL59FT"] = "100.00"; + enemy["i74vGUFa"] = "1"; + enemy["F4bQ7r8C"] = ""; + enemy["hjAy9St3"] = ""; + enemy["2Smu5Mtq"] = ""; + enemy["2EF0d6ue"] = ""; + enemy["QqfI9mM4"] = ""; + enemy["CYk84E3W"] = "0,0"; + enemy["3BpHN6VD"] = ""; + enemy["Lkh6gYkT"] = "0,0"; + enemy["pn16CNah"] = "10030"; + enemy["Y6bd4fXp"] = "0,0,0"; + enemy["jm6JSK2D"] = ""; + enemy["qp37xTDh"] = "??21"; + res["U0v5IeJo"].append(enemy); + + enemy["o49dYfpH"] = "50352"; + enemy["Btf93Xs1"] = "????Lv2"; + enemy["3evIn0zZ"] = "????"; + enemy["e7DK0FQT"] = "850"; + enemy["67CApcti"] = "340"; + enemy["q08xLEsy"] = "60"; + enemy["CEeqs63b"] = "0:0:0:0:0:0"; + enemy["iNy0ZU5M"] = "5"; + enemy["eyUo6a8c"] = "24:125:1"; + enemy["6Aou5M9r"] = "30:100:2:1"; + enemy["n9h7p02P"] = "1"; + enemy["Najhr8m6"] = "34"; + enemy["9FN0GAei"] = "5"; + enemy["HTVh8a65"] = "21"; + enemy["vNk2sI4X"] = "5"; + enemy["9pXSKmn1"] = "1"; + enemy["J2hPXGo5"] = "2"; + enemy["mv4o39Uz"] = "1"; + enemy["h2L1YI90"] = "1"; + enemy["XE7Yi5c3"] = "1"; + enemy["D4Y5bWK7"] = "1"; + enemy["oMGC3hW0"] = "1"; + enemy["m4EK7Gt6"] = "1"; + enemy["6fwL59FT"] = "100.00"; + enemy["i74vGUFa"] = "1"; + enemy["F4bQ7r8C"] = ""; + enemy["hjAy9St3"] = ""; + enemy["2Smu5Mtq"] = ""; + enemy["2EF0d6ue"] = ""; + enemy["QqfI9mM4"] = ""; + enemy["CYk84E3W"] = "0,0"; + enemy["3BpHN6VD"] = ""; + enemy["Lkh6gYkT"] = "0,0"; + enemy["pn16CNah"] = "50030"; + enemy["Y6bd4fXp"] = "0,0,0"; + enemy["jm6JSK2D"] = ""; + enemy["qp37xTDh"] = "??153"; + res["U0v5IeJo"].append(enemy); + + enemy["o49dYfpH"] = "20352"; + enemy["Btf93Xs1"] = "????Lv2"; + enemy["3evIn0zZ"] = "????"; + enemy["e7DK0FQT"] = "780"; + enemy["67CApcti"] = "330"; + enemy["q08xLEsy"] = "20"; + enemy["CEeqs63b"] = "0:0:0:0:0:0"; + enemy["iNy0ZU5M"] = "2"; + enemy["eyUo6a8c"] = "24:122:1"; + enemy["6Aou5M9r"] = "30:100:2:1"; + enemy["n9h7p02P"] = "1"; + enemy["Najhr8m6"] = "31"; + enemy["9FN0GAei"] = "5"; + enemy["HTVh8a65"] = "20"; + enemy["vNk2sI4X"] = "5"; + enemy["9pXSKmn1"] = "5"; + enemy["J2hPXGo5"] = "2"; + enemy["mv4o39Uz"] = "1"; + enemy["h2L1YI90"] = "1"; + enemy["XE7Yi5c3"] = "1"; + enemy["D4Y5bWK7"] = "1"; + enemy["oMGC3hW0"] = "1"; + enemy["m4EK7Gt6"] = "1"; + enemy["6fwL59FT"] = "100.00"; + enemy["i74vGUFa"] = "1"; + enemy["F4bQ7r8C"] = ""; + enemy["hjAy9St3"] = ""; + enemy["2Smu5Mtq"] = ""; + enemy["2EF0d6ue"] = ""; + enemy["QqfI9mM4"] = ""; + enemy["CYk84E3W"] = "0,0"; + enemy["3BpHN6VD"] = ""; + enemy["Lkh6gYkT"] = "0,0"; + enemy["pn16CNah"] = "20030"; + enemy["Y6bd4fXp"] = "0,0,0"; + enemy["jm6JSK2D"] = ""; + enemy["qp37xTDh"] = "??54"; + res["U0v5IeJo"].append(enemy); + + enemy["o49dYfpH"] = "40401"; + enemy["Btf93Xs1"] = "???????Lv1"; + enemy["3evIn0zZ"] = "???????"; + enemy["e7DK0FQT"] = "2500"; + enemy["67CApcti"] = "470"; + enemy["q08xLEsy"] = "30"; + enemy["CEeqs63b"] = "0:0:0:0:0:0"; + enemy["iNy0ZU5M"] = "4"; + enemy["eyUo6a8c"] = "36:124:1"; + enemy["6Aou5M9r"] = "42:100:2:1"; + enemy["n9h7p02P"] = "1"; + enemy["Najhr8m6"] = "100"; + enemy["9FN0GAei"] = "5"; + enemy["HTVh8a65"] = "63"; + enemy["vNk2sI4X"] = "5"; + enemy["9pXSKmn1"] = "0"; + enemy["J2hPXGo5"] = "2"; + enemy["mv4o39Uz"] = "1"; + enemy["h2L1YI90"] = "1"; + enemy["XE7Yi5c3"] = "1"; + enemy["D4Y5bWK7"] = "1"; + enemy["oMGC3hW0"] = "1"; + enemy["m4EK7Gt6"] = "1"; + enemy["6fwL59FT"] = "100.00"; + enemy["i74vGUFa"] = "1"; + enemy["F4bQ7r8C"] = ""; + enemy["hjAy9St3"] = ""; + enemy["2Smu5Mtq"] = ""; + enemy["2EF0d6ue"] = ""; + enemy["QqfI9mM4"] = ""; + enemy["CYk84E3W"] = "0,0"; + enemy["3BpHN6VD"] = ""; + enemy["Lkh6gYkT"] = "0,0"; + enemy["pn16CNah"] = "40031"; + enemy["Y6bd4fXp"] = "0,0,0"; + enemy["jm6JSK2D"] = ""; + enemy["qp37xTDh"] = "??121"; + res["U0v5IeJo"].append(enemy); + } + + res["8hoyIF9Q"] = Json::arrayValue; + res["VZwB7f3j"] = Json::arrayValue; + + { + Json::Value status; + status["Kn51uR4Y"] = "0"; + res["nAligJSQ"].append(status); + } + + { + Json::Value clientInfo; + clientInfo["h7eY3sAK"] = "n9ZMPC0t"; + clientInfo["B5JQyV8j"] = "Arves100"; + clientInfo["iN7buP0j"] = "WAS-LX1A_android8.0.0"; + clientInfo["Ma5GnU0H"] = "4e457983-74b0-4ea7-9a98-1c5890dfc836"; + res["IKqx1Cn9"].append(clientInfo); + } + + { + Json::Value announcement; + announcement["xJNom6i0"] = "3876"; + announcement["jsRoN50z"] = "http://ios21900.bfww.gumi.sg//news.gumi.sg/bravefrontier/news/files/html/2022-03/Closure_Announcement_033022_1648608188.html"; + res["Pj6zDW3m"] = announcement; + } + + std::cout << "MissionStartHandler response: " << res.toStyledString() << std::endl; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/MissionStartHandler.hpp b/gimuserver/gme/handlers/MissionStartRequestHandler.hpp similarity index 85% rename from gimuserver/gme/handlers/MissionStartHandler.hpp rename to gimuserver/gme/handlers/MissionStartRequestHandler.hpp index e369fb1..dcea344 100644 --- a/gimuserver/gme/handlers/MissionStartHandler.hpp +++ b/gimuserver/gme/handlers/MissionStartRequestHandler.hpp @@ -3,7 +3,7 @@ #include "../GmeHandler.hpp" HANDLER_NS_BEGIN -class MissionStartHandler : public HandlerBase +class MissionStartRequestHandler : public HandlerBase { public: const char* GetGroupId() const override { return "jE6Sp0q4"; } diff --git a/gimuserver/gme/handlers/MultiGachaIapPurchaseIapRequestHandler.cpp b/gimuserver/gme/handlers/MultiGachaIapPurchaseIapRequestHandler.cpp new file mode 100644 index 0000000..35f7c6b --- /dev/null +++ b/gimuserver/gme/handlers/MultiGachaIapPurchaseIapRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "MultiGachaIapPurchaseIapRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::MultiGachaIapPurchaseIapRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/MultiGachaIapPurchaseIapRequestHandler.hpp b/gimuserver/gme/handlers/MultiGachaIapPurchaseIapRequestHandler.hpp new file mode 100644 index 0000000..0d5c4ef --- /dev/null +++ b/gimuserver/gme/handlers/MultiGachaIapPurchaseIapRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class MultiGachaIapPurchaseIapRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "jk17biw9"; } + const char* GetAesKey() const override { return "gIT163bi"; } + // TODO: Response has 5 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/MysteryBoxClaimRequestHandler.cpp b/gimuserver/gme/handlers/MysteryBoxClaimRequestHandler.cpp new file mode 100644 index 0000000..69db5f5 --- /dev/null +++ b/gimuserver/gme/handlers/MysteryBoxClaimRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "MysteryBoxClaimRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::MysteryBoxClaimRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/MysteryBoxClaimRequestHandler.hpp b/gimuserver/gme/handlers/MysteryBoxClaimRequestHandler.hpp new file mode 100644 index 0000000..3f02e6a --- /dev/null +++ b/gimuserver/gme/handlers/MysteryBoxClaimRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class MysteryBoxClaimRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "2paswUpR"; } + const char* GetAesKey() const override { return "kadRadU5"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/MysteryBoxListRequestHandler.cpp b/gimuserver/gme/handlers/MysteryBoxListRequestHandler.cpp new file mode 100644 index 0000000..1d17b2a --- /dev/null +++ b/gimuserver/gme/handlers/MysteryBoxListRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "MysteryBoxListRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::MysteryBoxListRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/MysteryBoxListRequestHandler.hpp b/gimuserver/gme/handlers/MysteryBoxListRequestHandler.hpp new file mode 100644 index 0000000..a1ce9b1 --- /dev/null +++ b/gimuserver/gme/handlers/MysteryBoxListRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class MysteryBoxListRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "pAJ2Xesw"; } + const char* GetAesKey() const override { return "DaswA3rE"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/NgwordCheckRequestHandler.cpp b/gimuserver/gme/handlers/NgwordCheckRequestHandler.cpp new file mode 100644 index 0000000..38b1d0f --- /dev/null +++ b/gimuserver/gme/handlers/NgwordCheckRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "NgwordCheckRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::NgwordCheckRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/NgwordCheckRequestHandler.hpp b/gimuserver/gme/handlers/NgwordCheckRequestHandler.hpp new file mode 100644 index 0000000..fdc8eca --- /dev/null +++ b/gimuserver/gme/handlers/NgwordCheckRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class NgwordCheckRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "TA4MnZX8"; } + const char* GetAesKey() const override { return "r4Smw5TX"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/NoticeListRequestHandler.cpp b/gimuserver/gme/handlers/NoticeListRequestHandler.cpp new file mode 100644 index 0000000..dc71ade --- /dev/null +++ b/gimuserver/gme/handlers/NoticeListRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "NoticeListRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::NoticeListRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/NoticeListRequestHandler.hpp b/gimuserver/gme/handlers/NoticeListRequestHandler.hpp new file mode 100644 index 0000000..c6685a4 --- /dev/null +++ b/gimuserver/gme/handlers/NoticeListRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class NoticeListRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "5s4aVWfc"; } + const char* GetAesKey() const override { return "miMBpUZ3"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/NoticeReadUpdateRequestHandler.cpp b/gimuserver/gme/handlers/NoticeReadUpdateRequestHandler.cpp new file mode 100644 index 0000000..9da0637 --- /dev/null +++ b/gimuserver/gme/handlers/NoticeReadUpdateRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "NoticeReadUpdateRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::NoticeReadUpdateRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/NoticeReadUpdateRequestHandler.hpp b/gimuserver/gme/handlers/NoticeReadUpdateRequestHandler.hpp new file mode 100644 index 0000000..9235165 --- /dev/null +++ b/gimuserver/gme/handlers/NoticeReadUpdateRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class NoticeReadUpdateRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "cuKwx5rF"; } + const char* GetAesKey() const override { return "o2rhxCmg"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/NoticeUpdateRequestHandler.cpp b/gimuserver/gme/handlers/NoticeUpdateRequestHandler.cpp new file mode 100644 index 0000000..dc049be --- /dev/null +++ b/gimuserver/gme/handlers/NoticeUpdateRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "NoticeUpdateRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::NoticeUpdateRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/NoticeUpdateRequestHandler.hpp b/gimuserver/gme/handlers/NoticeUpdateRequestHandler.hpp new file mode 100644 index 0000000..0983f46 --- /dev/null +++ b/gimuserver/gme/handlers/NoticeUpdateRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class NoticeUpdateRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "68pTQAJv"; } + const char* GetAesKey() const override { return "WHfcd53M"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/PresentListRequestHandler.cpp b/gimuserver/gme/handlers/PresentListRequestHandler.cpp new file mode 100644 index 0000000..87d6056 --- /dev/null +++ b/gimuserver/gme/handlers/PresentListRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "PresentListRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::PresentListRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/PresentListRequestHandler.hpp b/gimuserver/gme/handlers/PresentListRequestHandler.hpp new file mode 100644 index 0000000..2de5480 --- /dev/null +++ b/gimuserver/gme/handlers/PresentListRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class PresentListRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "nhjvB52R"; } + const char* GetAesKey() const override { return "6F9sMzBxEv8jXpau"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/PresentReceiptRequestHandler.cpp b/gimuserver/gme/handlers/PresentReceiptRequestHandler.cpp new file mode 100644 index 0000000..090e633 --- /dev/null +++ b/gimuserver/gme/handlers/PresentReceiptRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "PresentReceiptRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::PresentReceiptRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/PresentReceiptRequestHandler.hpp b/gimuserver/gme/handlers/PresentReceiptRequestHandler.hpp new file mode 100644 index 0000000..867f3b2 --- /dev/null +++ b/gimuserver/gme/handlers/PresentReceiptRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class PresentReceiptRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "bV5xa0ZW"; } + const char* GetAesKey() const override { return "X2QFqAKfomPIg3rG"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidAgreementRequestHandler.cpp b/gimuserver/gme/handlers/RaidAgreementRequestHandler.cpp new file mode 100644 index 0000000..85a8d03 --- /dev/null +++ b/gimuserver/gme/handlers/RaidAgreementRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidAgreementRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidAgreementRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidAgreementRequestHandler.hpp b/gimuserver/gme/handlers/RaidAgreementRequestHandler.hpp new file mode 100644 index 0000000..46cda70 --- /dev/null +++ b/gimuserver/gme/handlers/RaidAgreementRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidAgreementRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "Cu94xU8j"; } + const char* GetAesKey() const override { return "Eh5a3yr9"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidCampRestEndRequestHandler.cpp b/gimuserver/gme/handlers/RaidCampRestEndRequestHandler.cpp new file mode 100644 index 0000000..a3954ae --- /dev/null +++ b/gimuserver/gme/handlers/RaidCampRestEndRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidCampRestEndRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidCampRestEndRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidCampRestEndRequestHandler.hpp b/gimuserver/gme/handlers/RaidCampRestEndRequestHandler.hpp new file mode 100644 index 0000000..bbc4a0c --- /dev/null +++ b/gimuserver/gme/handlers/RaidCampRestEndRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidCampRestEndRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "f9Dh4djx"; } + const char* GetAesKey() const override { return "0TCX6S4R"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidCampRestGetRequestHandler.cpp b/gimuserver/gme/handlers/RaidCampRestGetRequestHandler.cpp new file mode 100644 index 0000000..b26612c --- /dev/null +++ b/gimuserver/gme/handlers/RaidCampRestGetRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidCampRestGetRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidCampRestGetRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidCampRestGetRequestHandler.hpp b/gimuserver/gme/handlers/RaidCampRestGetRequestHandler.hpp new file mode 100644 index 0000000..2b6af6a --- /dev/null +++ b/gimuserver/gme/handlers/RaidCampRestGetRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidCampRestGetRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "diIe8ux7"; } + const char* GetAesKey() const override { return "G5uind2r"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidCampRestStartRequestHandler.cpp b/gimuserver/gme/handlers/RaidCampRestStartRequestHandler.cpp new file mode 100644 index 0000000..bb5955d --- /dev/null +++ b/gimuserver/gme/handlers/RaidCampRestStartRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidCampRestStartRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidCampRestStartRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidCampRestStartRequestHandler.hpp b/gimuserver/gme/handlers/RaidCampRestStartRequestHandler.hpp new file mode 100644 index 0000000..9acd3b6 --- /dev/null +++ b/gimuserver/gme/handlers/RaidCampRestStartRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidCampRestStartRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "I7nVUv0h"; } + const char* GetAesKey() const override { return "qy27SYu9"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidEnterRequestHandler.cpp b/gimuserver/gme/handlers/RaidEnterRequestHandler.cpp new file mode 100644 index 0000000..950e490 --- /dev/null +++ b/gimuserver/gme/handlers/RaidEnterRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidEnterRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidEnterRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidEnterRequestHandler.hpp b/gimuserver/gme/handlers/RaidEnterRequestHandler.hpp new file mode 100644 index 0000000..2446db3 --- /dev/null +++ b/gimuserver/gme/handlers/RaidEnterRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidEnterRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "yZReG75i"; } + const char* GetAesKey() const override { return "N0Azw6ob"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidExitRequestHandler.cpp b/gimuserver/gme/handlers/RaidExitRequestHandler.cpp new file mode 100644 index 0000000..40bcf1e --- /dev/null +++ b/gimuserver/gme/handlers/RaidExitRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidExitRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidExitRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidExitRequestHandler.hpp b/gimuserver/gme/handlers/RaidExitRequestHandler.hpp new file mode 100644 index 0000000..5423e04 --- /dev/null +++ b/gimuserver/gme/handlers/RaidExitRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidExitRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "jqi71nWu"; } + const char* GetAesKey() const override { return "PD4ke3Ii"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidFriendRemoveRequestHandler.cpp b/gimuserver/gme/handlers/RaidFriendRemoveRequestHandler.cpp new file mode 100644 index 0000000..0de8b73 --- /dev/null +++ b/gimuserver/gme/handlers/RaidFriendRemoveRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidFriendRemoveRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidFriendRemoveRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidFriendRemoveRequestHandler.hpp b/gimuserver/gme/handlers/RaidFriendRemoveRequestHandler.hpp new file mode 100644 index 0000000..3d71170 --- /dev/null +++ b/gimuserver/gme/handlers/RaidFriendRemoveRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidFriendRemoveRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "u59zdKCi"; } + const char* GetAesKey() const override { return "0HJ9ShKp"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidFrlendSelectRequestHandler.cpp b/gimuserver/gme/handlers/RaidFrlendSelectRequestHandler.cpp new file mode 100644 index 0000000..a20d18f --- /dev/null +++ b/gimuserver/gme/handlers/RaidFrlendSelectRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidFrlendSelectRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidFrlendSelectRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidFrlendSelectRequestHandler.hpp b/gimuserver/gme/handlers/RaidFrlendSelectRequestHandler.hpp new file mode 100644 index 0000000..d7f0cea --- /dev/null +++ b/gimuserver/gme/handlers/RaidFrlendSelectRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidFrlendSelectRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "u59zdKCw"; } + const char* GetAesKey() const override { return "0HJ9ShKg"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidGetChatLogRequestHandler.cpp b/gimuserver/gme/handlers/RaidGetChatLogRequestHandler.cpp new file mode 100644 index 0000000..6a7f5a5 --- /dev/null +++ b/gimuserver/gme/handlers/RaidGetChatLogRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidGetChatLogRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidGetChatLogRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidGetChatLogRequestHandler.hpp b/gimuserver/gme/handlers/RaidGetChatLogRequestHandler.hpp new file mode 100644 index 0000000..b1662dc --- /dev/null +++ b/gimuserver/gme/handlers/RaidGetChatLogRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidGetChatLogRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "k5pMN68B"; } + const char* GetAesKey() const override { return "cy0oLna7"; } + // TODO: Response has 8 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidGetPlayerInfoRequestHandler.cpp b/gimuserver/gme/handlers/RaidGetPlayerInfoRequestHandler.cpp new file mode 100644 index 0000000..2e44cb6 --- /dev/null +++ b/gimuserver/gme/handlers/RaidGetPlayerInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidGetPlayerInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidGetPlayerInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidGetPlayerInfoRequestHandler.hpp b/gimuserver/gme/handlers/RaidGetPlayerInfoRequestHandler.hpp new file mode 100644 index 0000000..25c3a5f --- /dev/null +++ b/gimuserver/gme/handlers/RaidGetPlayerInfoRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidGetPlayerInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "81zkMjfN"; } + const char* GetAesKey() const override { return "V7M6Bph4"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidItemDeleteRequestHandler.cpp b/gimuserver/gme/handlers/RaidItemDeleteRequestHandler.cpp new file mode 100644 index 0000000..3d9ae53 --- /dev/null +++ b/gimuserver/gme/handlers/RaidItemDeleteRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidItemDeleteRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidItemDeleteRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidItemDeleteRequestHandler.hpp b/gimuserver/gme/handlers/RaidItemDeleteRequestHandler.hpp new file mode 100644 index 0000000..95b3ff1 --- /dev/null +++ b/gimuserver/gme/handlers/RaidItemDeleteRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidItemDeleteRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "N43JmIf2"; } + const char* GetAesKey() const override { return "jvm3q24f"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidItemEditRequestHandler.cpp b/gimuserver/gme/handlers/RaidItemEditRequestHandler.cpp new file mode 100644 index 0000000..d00b0d7 --- /dev/null +++ b/gimuserver/gme/handlers/RaidItemEditRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidItemEditRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidItemEditRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidItemEditRequestHandler.hpp b/gimuserver/gme/handlers/RaidItemEditRequestHandler.hpp new file mode 100644 index 0000000..8c8bf17 --- /dev/null +++ b/gimuserver/gme/handlers/RaidItemEditRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidItemEditRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "DZLI83hx"; } + const char* GetAesKey() const override { return "3Lxpf5KE"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidItemMixRequestHandler.cpp b/gimuserver/gme/handlers/RaidItemMixRequestHandler.cpp new file mode 100644 index 0000000..e3f9003 --- /dev/null +++ b/gimuserver/gme/handlers/RaidItemMixRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidItemMixRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidItemMixRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidItemMixRequestHandler.hpp b/gimuserver/gme/handlers/RaidItemMixRequestHandler.hpp new file mode 100644 index 0000000..a121c35 --- /dev/null +++ b/gimuserver/gme/handlers/RaidItemMixRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidItemMixRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "K17JUYR2"; } + const char* GetAesKey() const override { return "c6wBM9sH"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidLimitedUseItemRequestHandler.cpp b/gimuserver/gme/handlers/RaidLimitedUseItemRequestHandler.cpp new file mode 100644 index 0000000..a02b0ba --- /dev/null +++ b/gimuserver/gme/handlers/RaidLimitedUseItemRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidLimitedUseItemRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidLimitedUseItemRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidLimitedUseItemRequestHandler.hpp b/gimuserver/gme/handlers/RaidLimitedUseItemRequestHandler.hpp new file mode 100644 index 0000000..c6d4cf9 --- /dev/null +++ b/gimuserver/gme/handlers/RaidLimitedUseItemRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidLimitedUseItemRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "SaN7v13E"; } + const char* GetAesKey() const override { return "btR9Jkw7"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidMissionBattleEndRequestHandler.cpp b/gimuserver/gme/handlers/RaidMissionBattleEndRequestHandler.cpp new file mode 100644 index 0000000..e9d6d4d --- /dev/null +++ b/gimuserver/gme/handlers/RaidMissionBattleEndRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidMissionBattleEndRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidMissionBattleEndRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidMissionBattleEndRequestHandler.hpp b/gimuserver/gme/handlers/RaidMissionBattleEndRequestHandler.hpp new file mode 100644 index 0000000..322fd1e --- /dev/null +++ b/gimuserver/gme/handlers/RaidMissionBattleEndRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidMissionBattleEndRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "5Ko2BjPA"; } + const char* GetAesKey() const override { return "gi6B0m2p"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidMissionBattleRestartRequestHandler.cpp b/gimuserver/gme/handlers/RaidMissionBattleRestartRequestHandler.cpp new file mode 100644 index 0000000..3af1532 --- /dev/null +++ b/gimuserver/gme/handlers/RaidMissionBattleRestartRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidMissionBattleRestartRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidMissionBattleRestartRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidMissionBattleRestartRequestHandler.hpp b/gimuserver/gme/handlers/RaidMissionBattleRestartRequestHandler.hpp new file mode 100644 index 0000000..06a8531 --- /dev/null +++ b/gimuserver/gme/handlers/RaidMissionBattleRestartRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidMissionBattleRestartRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "La24KGAp"; } + const char* GetAesKey() const override { return "ecJRzX16"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidMissionBattleStartRequestHandler.cpp b/gimuserver/gme/handlers/RaidMissionBattleStartRequestHandler.cpp new file mode 100644 index 0000000..b5865d4 --- /dev/null +++ b/gimuserver/gme/handlers/RaidMissionBattleStartRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidMissionBattleStartRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidMissionBattleStartRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidMissionBattleStartRequestHandler.hpp b/gimuserver/gme/handlers/RaidMissionBattleStartRequestHandler.hpp new file mode 100644 index 0000000..9262eed --- /dev/null +++ b/gimuserver/gme/handlers/RaidMissionBattleStartRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidMissionBattleStartRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "8UiQj0uF"; } + const char* GetAesKey() const override { return "1Jhavqb7"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidMissionEndRequestHandler.cpp b/gimuserver/gme/handlers/RaidMissionEndRequestHandler.cpp new file mode 100644 index 0000000..6203c33 --- /dev/null +++ b/gimuserver/gme/handlers/RaidMissionEndRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidMissionEndRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidMissionEndRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidMissionEndRequestHandler.hpp b/gimuserver/gme/handlers/RaidMissionEndRequestHandler.hpp new file mode 100644 index 0000000..cb7931f --- /dev/null +++ b/gimuserver/gme/handlers/RaidMissionEndRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidMissionEndRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "vgin9Mf1"; } + const char* GetAesKey() const override { return "95ULkowE"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidMissionExitRequestHandler.cpp b/gimuserver/gme/handlers/RaidMissionExitRequestHandler.cpp new file mode 100644 index 0000000..e14d49b --- /dev/null +++ b/gimuserver/gme/handlers/RaidMissionExitRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidMissionExitRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidMissionExitRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidMissionExitRequestHandler.hpp b/gimuserver/gme/handlers/RaidMissionExitRequestHandler.hpp new file mode 100644 index 0000000..fbad960 --- /dev/null +++ b/gimuserver/gme/handlers/RaidMissionExitRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidMissionExitRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "a12v0RcA"; } + const char* GetAesKey() const override { return "14GMJFIN"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidMissionHarvestRequestHandler.cpp b/gimuserver/gme/handlers/RaidMissionHarvestRequestHandler.cpp new file mode 100644 index 0000000..255eaff --- /dev/null +++ b/gimuserver/gme/handlers/RaidMissionHarvestRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidMissionHarvestRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidMissionHarvestRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidMissionHarvestRequestHandler.hpp b/gimuserver/gme/handlers/RaidMissionHarvestRequestHandler.hpp new file mode 100644 index 0000000..13db0af --- /dev/null +++ b/gimuserver/gme/handlers/RaidMissionHarvestRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidMissionHarvestRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "9QdRVwB1"; } + const char* GetAesKey() const override { return "b1ScyFv9"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidMissionInfoLightRequestHandler.cpp b/gimuserver/gme/handlers/RaidMissionInfoLightRequestHandler.cpp new file mode 100644 index 0000000..6bb42b6 --- /dev/null +++ b/gimuserver/gme/handlers/RaidMissionInfoLightRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidMissionInfoLightRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidMissionInfoLightRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidMissionInfoLightRequestHandler.hpp b/gimuserver/gme/handlers/RaidMissionInfoLightRequestHandler.hpp new file mode 100644 index 0000000..d8f34d8 --- /dev/null +++ b/gimuserver/gme/handlers/RaidMissionInfoLightRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidMissionInfoLightRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "Argz1U6B"; } + const char* GetAesKey() const override { return "1hJrYxs7"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidMissionInfoRequestHandler.cpp b/gimuserver/gme/handlers/RaidMissionInfoRequestHandler.cpp new file mode 100644 index 0000000..8ce9537 --- /dev/null +++ b/gimuserver/gme/handlers/RaidMissionInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidMissionInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidMissionInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidMissionInfoRequestHandler.hpp b/gimuserver/gme/handlers/RaidMissionInfoRequestHandler.hpp new file mode 100644 index 0000000..5c579c6 --- /dev/null +++ b/gimuserver/gme/handlers/RaidMissionInfoRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidMissionInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "BqF2x3EC"; } + const char* GetAesKey() const override { return "6SyFs0Du"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidMissionSelectRequestHandler.cpp b/gimuserver/gme/handlers/RaidMissionSelectRequestHandler.cpp new file mode 100644 index 0000000..10289ec --- /dev/null +++ b/gimuserver/gme/handlers/RaidMissionSelectRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidMissionSelectRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidMissionSelectRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidMissionSelectRequestHandler.hpp b/gimuserver/gme/handlers/RaidMissionSelectRequestHandler.hpp new file mode 100644 index 0000000..98daf62 --- /dev/null +++ b/gimuserver/gme/handlers/RaidMissionSelectRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidMissionSelectRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "8iQL3IKA"; } + const char* GetAesKey() const override { return "ZBex5ju9"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidMissionStartRequestHandler.cpp b/gimuserver/gme/handlers/RaidMissionStartRequestHandler.cpp new file mode 100644 index 0000000..a9e7971 --- /dev/null +++ b/gimuserver/gme/handlers/RaidMissionStartRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidMissionStartRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidMissionStartRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidMissionStartRequestHandler.hpp b/gimuserver/gme/handlers/RaidMissionStartRequestHandler.hpp new file mode 100644 index 0000000..347b863 --- /dev/null +++ b/gimuserver/gme/handlers/RaidMissionStartRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidMissionStartRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "2qDW9NBU"; } + const char* GetAesKey() const override { return "kY5y1zBj"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidMissionUseItemRequestHandler.cpp b/gimuserver/gme/handlers/RaidMissionUseItemRequestHandler.cpp new file mode 100644 index 0000000..3c1fc99 --- /dev/null +++ b/gimuserver/gme/handlers/RaidMissionUseItemRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidMissionUseItemRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidMissionUseItemRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidMissionUseItemRequestHandler.hpp b/gimuserver/gme/handlers/RaidMissionUseItemRequestHandler.hpp new file mode 100644 index 0000000..f52c663 --- /dev/null +++ b/gimuserver/gme/handlers/RaidMissionUseItemRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidMissionUseItemRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "o03kCtb1"; } + const char* GetAesKey() const override { return "Ys8ro9Sq"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidQuickStartRequestHandler.cpp b/gimuserver/gme/handlers/RaidQuickStartRequestHandler.cpp new file mode 100644 index 0000000..63430f2 --- /dev/null +++ b/gimuserver/gme/handlers/RaidQuickStartRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidQuickStartRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidQuickStartRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidQuickStartRequestHandler.hpp b/gimuserver/gme/handlers/RaidQuickStartRequestHandler.hpp new file mode 100644 index 0000000..b9e10b1 --- /dev/null +++ b/gimuserver/gme/handlers/RaidQuickStartRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidQuickStartRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "CWeTY8BQ"; } + const char* GetAesKey() const override { return "HsVofOJJ"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidRoomDissolveRequestHandler.cpp b/gimuserver/gme/handlers/RaidRoomDissolveRequestHandler.cpp new file mode 100644 index 0000000..e672ca3 --- /dev/null +++ b/gimuserver/gme/handlers/RaidRoomDissolveRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidRoomDissolveRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidRoomDissolveRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidRoomDissolveRequestHandler.hpp b/gimuserver/gme/handlers/RaidRoomDissolveRequestHandler.hpp new file mode 100644 index 0000000..a5c9583 --- /dev/null +++ b/gimuserver/gme/handlers/RaidRoomDissolveRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidRoomDissolveRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "H8N1R0TE"; } + const char* GetAesKey() const override { return "q7dbw29J"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidRoomFriendGetRequestHandler.cpp b/gimuserver/gme/handlers/RaidRoomFriendGetRequestHandler.cpp new file mode 100644 index 0000000..812ec14 --- /dev/null +++ b/gimuserver/gme/handlers/RaidRoomFriendGetRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidRoomFriendGetRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidRoomFriendGetRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidRoomFriendGetRequestHandler.hpp b/gimuserver/gme/handlers/RaidRoomFriendGetRequestHandler.hpp new file mode 100644 index 0000000..7e1b2eb --- /dev/null +++ b/gimuserver/gme/handlers/RaidRoomFriendGetRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidRoomFriendGetRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "Xe2UB3A8"; } + const char* GetAesKey() const override { return "9WN8oYBx"; } + // TODO: Response has 48 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidRoomInfoRequestHandler.cpp b/gimuserver/gme/handlers/RaidRoomInfoRequestHandler.cpp new file mode 100644 index 0000000..b6d0110 --- /dev/null +++ b/gimuserver/gme/handlers/RaidRoomInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidRoomInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidRoomInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidRoomInfoRequestHandler.hpp b/gimuserver/gme/handlers/RaidRoomInfoRequestHandler.hpp new file mode 100644 index 0000000..6cd2b48 --- /dev/null +++ b/gimuserver/gme/handlers/RaidRoomInfoRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidRoomInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "0VxE6kTW"; } + const char* GetAesKey() const override { return "cUrw7K6W"; } + // TODO: Response has 38 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidRoomKickRequestHandler.cpp b/gimuserver/gme/handlers/RaidRoomKickRequestHandler.cpp new file mode 100644 index 0000000..edbc53a --- /dev/null +++ b/gimuserver/gme/handlers/RaidRoomKickRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidRoomKickRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidRoomKickRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidRoomKickRequestHandler.hpp b/gimuserver/gme/handlers/RaidRoomKickRequestHandler.hpp new file mode 100644 index 0000000..ef4ce4b --- /dev/null +++ b/gimuserver/gme/handlers/RaidRoomKickRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidRoomKickRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "Xbgen5J8"; } + const char* GetAesKey() const override { return "FrX0T2QJ"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidRoomListRequestHandler.cpp b/gimuserver/gme/handlers/RaidRoomListRequestHandler.cpp new file mode 100644 index 0000000..13b9ca6 --- /dev/null +++ b/gimuserver/gme/handlers/RaidRoomListRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidRoomListRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidRoomListRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidRoomListRequestHandler.hpp b/gimuserver/gme/handlers/RaidRoomListRequestHandler.hpp new file mode 100644 index 0000000..49992ba --- /dev/null +++ b/gimuserver/gme/handlers/RaidRoomListRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidRoomListRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "YF9UQpn6"; } + const char* GetAesKey() const override { return "c0Qf94Ir"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidRoonItemEditRequestHandler.cpp b/gimuserver/gme/handlers/RaidRoonItemEditRequestHandler.cpp new file mode 100644 index 0000000..abbd7ad --- /dev/null +++ b/gimuserver/gme/handlers/RaidRoonItemEditRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidRoonItemEditRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidRoonItemEditRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidRoonItemEditRequestHandler.hpp b/gimuserver/gme/handlers/RaidRoonItemEditRequestHandler.hpp new file mode 100644 index 0000000..cd25002 --- /dev/null +++ b/gimuserver/gme/handlers/RaidRoonItemEditRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidRoonItemEditRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "bv9xt3m6"; } + const char* GetAesKey() const override { return "9mKud8kc"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidSendChatRequestHandler.cpp b/gimuserver/gme/handlers/RaidSendChatRequestHandler.cpp new file mode 100644 index 0000000..fd3c034 --- /dev/null +++ b/gimuserver/gme/handlers/RaidSendChatRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidSendChatRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidSendChatRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidSendChatRequestHandler.hpp b/gimuserver/gme/handlers/RaidSendChatRequestHandler.hpp new file mode 100644 index 0000000..af67a0e --- /dev/null +++ b/gimuserver/gme/handlers/RaidSendChatRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidSendChatRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "dYIy6Eu8"; } + const char* GetAesKey() const override { return "x2Fm1LSt"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidShopUseRequestHandler.cpp b/gimuserver/gme/handlers/RaidShopUseRequestHandler.cpp new file mode 100644 index 0000000..77b1f13 --- /dev/null +++ b/gimuserver/gme/handlers/RaidShopUseRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidShopUseRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidShopUseRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidShopUseRequestHandler.hpp b/gimuserver/gme/handlers/RaidShopUseRequestHandler.hpp new file mode 100644 index 0000000..ebbfe13 --- /dev/null +++ b/gimuserver/gme/handlers/RaidShopUseRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidShopUseRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "4zJ0WmTX"; } + const char* GetAesKey() const override { return "RSvU7dh6"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidUpDataRoomInfoRequestHandler.cpp b/gimuserver/gme/handlers/RaidUpDataRoomInfoRequestHandler.cpp new file mode 100644 index 0000000..7c2d7b3 --- /dev/null +++ b/gimuserver/gme/handlers/RaidUpDataRoomInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidUpDataRoomInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidUpDataRoomInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidUpDataRoomInfoRequestHandler.hpp b/gimuserver/gme/handlers/RaidUpDataRoomInfoRequestHandler.hpp new file mode 100644 index 0000000..2c9f295 --- /dev/null +++ b/gimuserver/gme/handlers/RaidUpDataRoomInfoRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidUpDataRoomInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "52H0dkjv"; } + const char* GetAesKey() const override { return "9KdeuMX8"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidUpDataUserReadyRequestHandler.cpp b/gimuserver/gme/handlers/RaidUpDataUserReadyRequestHandler.cpp new file mode 100644 index 0000000..fda940f --- /dev/null +++ b/gimuserver/gme/handlers/RaidUpDataUserReadyRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidUpDataUserReadyRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidUpDataUserReadyRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidUpDataUserReadyRequestHandler.hpp b/gimuserver/gme/handlers/RaidUpDataUserReadyRequestHandler.hpp new file mode 100644 index 0000000..9283b2a --- /dev/null +++ b/gimuserver/gme/handlers/RaidUpDataUserReadyRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidUpDataUserReadyRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "vmdA2GD8"; } + const char* GetAesKey() const override { return "esR7NZL9"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidUpDateCashRequestHandler.cpp b/gimuserver/gme/handlers/RaidUpDateCashRequestHandler.cpp new file mode 100644 index 0000000..79a88c1 --- /dev/null +++ b/gimuserver/gme/handlers/RaidUpDateCashRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidUpDateCashRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidUpDateCashRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidUpDateCashRequestHandler.hpp b/gimuserver/gme/handlers/RaidUpDateCashRequestHandler.hpp new file mode 100644 index 0000000..4dee275 --- /dev/null +++ b/gimuserver/gme/handlers/RaidUpDateCashRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidUpDateCashRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "XTban70i"; } + const char* GetAesKey() const override { return "H5d6B2pi"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidUpScenarioInfoRequestHandler.cpp b/gimuserver/gme/handlers/RaidUpScenarioInfoRequestHandler.cpp new file mode 100644 index 0000000..82a879f --- /dev/null +++ b/gimuserver/gme/handlers/RaidUpScenarioInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidUpScenarioInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidUpScenarioInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidUpScenarioInfoRequestHandler.hpp b/gimuserver/gme/handlers/RaidUpScenarioInfoRequestHandler.hpp new file mode 100644 index 0000000..c651853 --- /dev/null +++ b/gimuserver/gme/handlers/RaidUpScenarioInfoRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidUpScenarioInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "R38qvphm"; } + const char* GetAesKey() const override { return "72EyFbW8"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidUpdateBlackListRequestHandler.cpp b/gimuserver/gme/handlers/RaidUpdateBlackListRequestHandler.cpp new file mode 100644 index 0000000..48bf336 --- /dev/null +++ b/gimuserver/gme/handlers/RaidUpdateBlackListRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidUpdateBlackListRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidUpdateBlackListRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidUpdateBlackListRequestHandler.hpp b/gimuserver/gme/handlers/RaidUpdateBlackListRequestHandler.hpp new file mode 100644 index 0000000..34800c3 --- /dev/null +++ b/gimuserver/gme/handlers/RaidUpdateBlackListRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidUpdateBlackListRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "4igfcyIm"; } + const char* GetAesKey() const override { return "XIgQ4UHm"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidUpdateProgressRequestHandler.cpp b/gimuserver/gme/handlers/RaidUpdateProgressRequestHandler.cpp new file mode 100644 index 0000000..c600b55 --- /dev/null +++ b/gimuserver/gme/handlers/RaidUpdateProgressRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidUpdateProgressRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidUpdateProgressRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidUpdateProgressRequestHandler.hpp b/gimuserver/gme/handlers/RaidUpdateProgressRequestHandler.hpp new file mode 100644 index 0000000..dd250a8 --- /dev/null +++ b/gimuserver/gme/handlers/RaidUpdateProgressRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidUpdateProgressRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "7geDL5Vb"; } + const char* GetAesKey() const override { return "7DkVMG8Y"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidUserInfoRequestHandler.cpp b/gimuserver/gme/handlers/RaidUserInfoRequestHandler.cpp new file mode 100644 index 0000000..6cf8936 --- /dev/null +++ b/gimuserver/gme/handlers/RaidUserInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidUserInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidUserInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidUserInfoRequestHandler.hpp b/gimuserver/gme/handlers/RaidUserInfoRequestHandler.hpp new file mode 100644 index 0000000..b76e818 --- /dev/null +++ b/gimuserver/gme/handlers/RaidUserInfoRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidUserInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "jJZ01VQo"; } + const char* GetAesKey() const override { return "SsQ26dVY"; } + // TODO: Response has 9 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/RaidWorloInfoRequestHandler.cpp b/gimuserver/gme/handlers/RaidWorloInfoRequestHandler.cpp new file mode 100644 index 0000000..0a1bf42 --- /dev/null +++ b/gimuserver/gme/handlers/RaidWorloInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "RaidWorloInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::RaidWorloInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/RaidWorloInfoRequestHandler.hpp b/gimuserver/gme/handlers/RaidWorloInfoRequestHandler.hpp new file mode 100644 index 0000000..386bdd5 --- /dev/null +++ b/gimuserver/gme/handlers/RaidWorloInfoRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class RaidWorloInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "H7GRp01L"; } + const char* GetAesKey() const override { return "5JxFp0tD"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/SGChatLogInfoListRequestHandler.cpp b/gimuserver/gme/handlers/SGChatLogInfoListRequestHandler.cpp new file mode 100644 index 0000000..e77a222 --- /dev/null +++ b/gimuserver/gme/handlers/SGChatLogInfoListRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "SGChatLogInfoListRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::SGChatLogInfoListRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/SGChatLogInfoListRequestHandler.hpp b/gimuserver/gme/handlers/SGChatLogInfoListRequestHandler.hpp new file mode 100644 index 0000000..ae8ee42 --- /dev/null +++ b/gimuserver/gme/handlers/SGChatLogInfoListRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class SGChatLogInfoListRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "jVRl14IS"; } + const char* GetAesKey() const override { return "sxdFrtRW"; } + // TODO: Response has 5 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/SPChallengeMissionStartRequestHandler.cpp b/gimuserver/gme/handlers/SPChallengeMissionStartRequestHandler.cpp new file mode 100644 index 0000000..4c5cb24 --- /dev/null +++ b/gimuserver/gme/handlers/SPChallengeMissionStartRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "SPChallengeMissionStartRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::SPChallengeMissionStartRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/SPChallengeMissionStartRequestHandler.hpp b/gimuserver/gme/handlers/SPChallengeMissionStartRequestHandler.hpp new file mode 100644 index 0000000..73e44d8 --- /dev/null +++ b/gimuserver/gme/handlers/SPChallengeMissionStartRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class SPChallengeMissionStartRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "QZy7cSW1"; } + const char* GetAesKey() const override { return "qojy81wY"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/SPChallengeRankingRequestHandler.cpp b/gimuserver/gme/handlers/SPChallengeRankingRequestHandler.cpp new file mode 100644 index 0000000..3010e2e --- /dev/null +++ b/gimuserver/gme/handlers/SPChallengeRankingRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "SPChallengeRankingRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::SPChallengeRankingRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/SPChallengeRankingRequestHandler.hpp b/gimuserver/gme/handlers/SPChallengeRankingRequestHandler.hpp new file mode 100644 index 0000000..5e8d696 --- /dev/null +++ b/gimuserver/gme/handlers/SPChallengeRankingRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class SPChallengeRankingRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "27rGx1rL"; } + const char* GetAesKey() const override { return "pTDy82st"; } + // TODO: Response has 10 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/SPChallengeUserInfoRequestHandler.cpp b/gimuserver/gme/handlers/SPChallengeUserInfoRequestHandler.cpp new file mode 100644 index 0000000..92b93f8 --- /dev/null +++ b/gimuserver/gme/handlers/SPChallengeUserInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "SPChallengeUserInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::SPChallengeUserInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/SPChallengeUserInfoRequestHandler.hpp b/gimuserver/gme/handlers/SPChallengeUserInfoRequestHandler.hpp new file mode 100644 index 0000000..7fa31f0 --- /dev/null +++ b/gimuserver/gme/handlers/SPChallengeUserInfoRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class SPChallengeUserInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "G3J9Domt"; } + const char* GetAesKey() const override { return "6QJwgU3V"; } + // TODO: Response has 3 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/SetPurchaseInfoRequestHandler.cpp b/gimuserver/gme/handlers/SetPurchaseInfoRequestHandler.cpp new file mode 100644 index 0000000..af04e2f --- /dev/null +++ b/gimuserver/gme/handlers/SetPurchaseInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "SetPurchaseInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::SetPurchaseInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/SetPurchaseInfoRequestHandler.hpp b/gimuserver/gme/handlers/SetPurchaseInfoRequestHandler.hpp new file mode 100644 index 0000000..acdbf65 --- /dev/null +++ b/gimuserver/gme/handlers/SetPurchaseInfoRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class SetPurchaseInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "u06y2UE4"; } + const char* GetAesKey() const override { return "c2kjaKv8"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/ShopUseRequestHandler.cpp b/gimuserver/gme/handlers/ShopUseRequestHandler.cpp new file mode 100644 index 0000000..4b03693 --- /dev/null +++ b/gimuserver/gme/handlers/ShopUseRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "ShopUseRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::ShopUseRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/ShopUseRequestHandler.hpp b/gimuserver/gme/handlers/ShopUseRequestHandler.hpp new file mode 100644 index 0000000..25e7305 --- /dev/null +++ b/gimuserver/gme/handlers/ShopUseRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class ShopUseRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "xe8tiSf4"; } + const char* GetAesKey() const override { return "qthMXTQSkz3KfH9R"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/SlotActionRequestHandler.cpp b/gimuserver/gme/handlers/SlotActionRequestHandler.cpp new file mode 100644 index 0000000..287437a --- /dev/null +++ b/gimuserver/gme/handlers/SlotActionRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "SlotActionRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::SlotActionRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/SlotActionRequestHandler.hpp b/gimuserver/gme/handlers/SlotActionRequestHandler.hpp new file mode 100644 index 0000000..8d6b552 --- /dev/null +++ b/gimuserver/gme/handlers/SlotActionRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class SlotActionRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "vChFp73J"; } + const char* GetAesKey() const override { return "hm9X6BQj"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/SummonerJournalInfoRequestHandler.cpp b/gimuserver/gme/handlers/SummonerJournalInfoRequestHandler.cpp new file mode 100644 index 0000000..d51fff4 --- /dev/null +++ b/gimuserver/gme/handlers/SummonerJournalInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "SummonerJournalInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::SummonerJournalInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/SummonerJournalInfoRequestHandler.hpp b/gimuserver/gme/handlers/SummonerJournalInfoRequestHandler.hpp new file mode 100644 index 0000000..4223a6a --- /dev/null +++ b/gimuserver/gme/handlers/SummonerJournalInfoRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class SummonerJournalInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "32Gwida0"; } + const char* GetAesKey() const override { return "66B2pDki"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/SummonerJournalMilestoneRewardsRequestHandler.cpp b/gimuserver/gme/handlers/SummonerJournalMilestoneRewardsRequestHandler.cpp new file mode 100644 index 0000000..fe0abbb --- /dev/null +++ b/gimuserver/gme/handlers/SummonerJournalMilestoneRewardsRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "SummonerJournalMilestoneRewardsRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::SummonerJournalMilestoneRewardsRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/SummonerJournalMilestoneRewardsRequestHandler.hpp b/gimuserver/gme/handlers/SummonerJournalMilestoneRewardsRequestHandler.hpp new file mode 100644 index 0000000..6a284ef --- /dev/null +++ b/gimuserver/gme/handlers/SummonerJournalMilestoneRewardsRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class SummonerJournalMilestoneRewardsRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "3a83iY3r"; } + const char* GetAesKey() const override { return "98Tw0ubW"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/SummonerJournalTaskRewardsRequestHandler.cpp b/gimuserver/gme/handlers/SummonerJournalTaskRewardsRequestHandler.cpp new file mode 100644 index 0000000..57a14bb --- /dev/null +++ b/gimuserver/gme/handlers/SummonerJournalTaskRewardsRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "SummonerJournalTaskRewardsRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::SummonerJournalTaskRewardsRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/SummonerJournalTaskRewardsRequestHandler.hpp b/gimuserver/gme/handlers/SummonerJournalTaskRewardsRequestHandler.hpp new file mode 100644 index 0000000..927e602 --- /dev/null +++ b/gimuserver/gme/handlers/SummonerJournalTaskRewardsRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class SummonerJournalTaskRewardsRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "2y48D13d"; } + const char* GetAesKey() const override { return "7nm3Dqe9"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/SummonerMixRequestHandler.cpp b/gimuserver/gme/handlers/SummonerMixRequestHandler.cpp new file mode 100644 index 0000000..a13f580 --- /dev/null +++ b/gimuserver/gme/handlers/SummonerMixRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "SummonerMixRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::SummonerMixRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/SummonerMixRequestHandler.hpp b/gimuserver/gme/handlers/SummonerMixRequestHandler.hpp new file mode 100644 index 0000000..25c96ca --- /dev/null +++ b/gimuserver/gme/handlers/SummonerMixRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class SummonerMixRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "nv4d3O7F"; } + const char* GetAesKey() const override { return "vM65bAB4"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/SummonerSkillGetRequestHandler.cpp b/gimuserver/gme/handlers/SummonerSkillGetRequestHandler.cpp new file mode 100644 index 0000000..dcf88b3 --- /dev/null +++ b/gimuserver/gme/handlers/SummonerSkillGetRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "SummonerSkillGetRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::SummonerSkillGetRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/SummonerSkillGetRequestHandler.hpp b/gimuserver/gme/handlers/SummonerSkillGetRequestHandler.hpp new file mode 100644 index 0000000..f5ddd55 --- /dev/null +++ b/gimuserver/gme/handlers/SummonerSkillGetRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class SummonerSkillGetRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "qWkYyw5i"; } + const char* GetAesKey() const override { return "mrXjLLJB"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/TierTourneyClaimRewardRequestHandler.cpp b/gimuserver/gme/handlers/TierTourneyClaimRewardRequestHandler.cpp new file mode 100644 index 0000000..18ab046 --- /dev/null +++ b/gimuserver/gme/handlers/TierTourneyClaimRewardRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "TierTourneyClaimRewardRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::TierTourneyClaimRewardRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/TierTourneyClaimRewardRequestHandler.hpp b/gimuserver/gme/handlers/TierTourneyClaimRewardRequestHandler.hpp new file mode 100644 index 0000000..4e49d28 --- /dev/null +++ b/gimuserver/gme/handlers/TierTourneyClaimRewardRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class TierTourneyClaimRewardRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "Ue7kmR38"; } + const char* GetAesKey() const override { return "23r27AbNW239alHi"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/TierTourneyFriendListRequestHandler.cpp b/gimuserver/gme/handlers/TierTourneyFriendListRequestHandler.cpp new file mode 100644 index 0000000..97425b3 --- /dev/null +++ b/gimuserver/gme/handlers/TierTourneyFriendListRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "TierTourneyFriendListRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::TierTourneyFriendListRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/TierTourneyFriendListRequestHandler.hpp b/gimuserver/gme/handlers/TierTourneyFriendListRequestHandler.hpp new file mode 100644 index 0000000..b2daba5 --- /dev/null +++ b/gimuserver/gme/handlers/TierTourneyFriendListRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class TierTourneyFriendListRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "p3iaD81y"; } + const char* GetAesKey() const override { return "B1oeKLqUw03wELoz"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/TierTourneyRewardMstRequestHandler.cpp b/gimuserver/gme/handlers/TierTourneyRewardMstRequestHandler.cpp new file mode 100644 index 0000000..617214e --- /dev/null +++ b/gimuserver/gme/handlers/TierTourneyRewardMstRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "TierTourneyRewardMstRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::TierTourneyRewardMstRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/TierTourneyRewardMstRequestHandler.hpp b/gimuserver/gme/handlers/TierTourneyRewardMstRequestHandler.hpp new file mode 100644 index 0000000..6d7e011 --- /dev/null +++ b/gimuserver/gme/handlers/TierTourneyRewardMstRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class TierTourneyRewardMstRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "gWi2z398"; } + const char* GetAesKey() const override { return "M2kajT23Yqwp83CX"; } + // TODO: Response has 7 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/TieupCampaignInfoRequestHandler.cpp b/gimuserver/gme/handlers/TieupCampaignInfoRequestHandler.cpp new file mode 100644 index 0000000..b691012 --- /dev/null +++ b/gimuserver/gme/handlers/TieupCampaignInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "TieupCampaignInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::TieupCampaignInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/TieupCampaignInfoRequestHandler.hpp b/gimuserver/gme/handlers/TieupCampaignInfoRequestHandler.hpp new file mode 100644 index 0000000..b960511 --- /dev/null +++ b/gimuserver/gme/handlers/TieupCampaignInfoRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class TieupCampaignInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "nWBLmp53"; } + const char* GetAesKey() const override { return "h06IDKYb"; } + // TODO: Response has 2 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/TownFacilityUpdateRequestHandler.cpp b/gimuserver/gme/handlers/TownFacilityUpdateRequestHandler.cpp new file mode 100644 index 0000000..24fb63f --- /dev/null +++ b/gimuserver/gme/handlers/TownFacilityUpdateRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "TownFacilityUpdateRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::TownFacilityUpdateRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/TownFacilityUpdateRequestHandler.hpp b/gimuserver/gme/handlers/TownFacilityUpdateRequestHandler.hpp new file mode 100644 index 0000000..855ae17 --- /dev/null +++ b/gimuserver/gme/handlers/TownFacilityUpdateRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class TownFacilityUpdateRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "8v43tz7g"; } + const char* GetAesKey() const override { return "rq7Yd1nG"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/TownUpdateRequestHandler.cpp b/gimuserver/gme/handlers/TownUpdateRequestHandler.cpp new file mode 100644 index 0000000..9cf8e4e --- /dev/null +++ b/gimuserver/gme/handlers/TownUpdateRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "TownUpdateRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::TownUpdateRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/TownUpdateRequestHandler.hpp b/gimuserver/gme/handlers/TownUpdateRequestHandler.hpp new file mode 100644 index 0000000..f1473df --- /dev/null +++ b/gimuserver/gme/handlers/TownUpdateRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class TownUpdateRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "CuQ5oB8U"; } + const char* GetAesKey() const override { return "w1eo2ZDJ"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/TransferCodeCheckRequestHandler.cpp b/gimuserver/gme/handlers/TransferCodeCheckRequestHandler.cpp new file mode 100644 index 0000000..579de44 --- /dev/null +++ b/gimuserver/gme/handlers/TransferCodeCheckRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "TransferCodeCheckRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::TransferCodeCheckRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/TransferCodeCheckRequestHandler.hpp b/gimuserver/gme/handlers/TransferCodeCheckRequestHandler.hpp new file mode 100644 index 0000000..ee45576 --- /dev/null +++ b/gimuserver/gme/handlers/TransferCodeCheckRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class TransferCodeCheckRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "Fn1UzTo3"; } + const char* GetAesKey() const override { return "A6QiFT7D"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/TransferCodeIssueRequestHandler.cpp b/gimuserver/gme/handlers/TransferCodeIssueRequestHandler.cpp new file mode 100644 index 0000000..e0dcaf4 --- /dev/null +++ b/gimuserver/gme/handlers/TransferCodeIssueRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "TransferCodeIssueRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::TransferCodeIssueRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/TransferCodeIssueRequestHandler.hpp b/gimuserver/gme/handlers/TransferCodeIssueRequestHandler.hpp new file mode 100644 index 0000000..bb3a8b6 --- /dev/null +++ b/gimuserver/gme/handlers/TransferCodeIssueRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class TransferCodeIssueRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "LK9e0WyX"; } + const char* GetAesKey() const override { return "B6siV3AT"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/TransferRequestHandler.cpp b/gimuserver/gme/handlers/TransferRequestHandler.cpp new file mode 100644 index 0000000..174e4e0 --- /dev/null +++ b/gimuserver/gme/handlers/TransferRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "TransferRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::TransferRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/TransferRequestHandler.hpp b/gimuserver/gme/handlers/TransferRequestHandler.hpp new file mode 100644 index 0000000..9c1c467 --- /dev/null +++ b/gimuserver/gme/handlers/TransferRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class TransferRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "I9DyF2aU"; } + const char* GetAesKey() const override { return "2hp90fZ1"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/TrialDeckEditRequestHandler.cpp b/gimuserver/gme/handlers/TrialDeckEditRequestHandler.cpp new file mode 100644 index 0000000..86be514 --- /dev/null +++ b/gimuserver/gme/handlers/TrialDeckEditRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "TrialDeckEditRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::TrialDeckEditRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/TrialDeckEditRequestHandler.hpp b/gimuserver/gme/handlers/TrialDeckEditRequestHandler.hpp new file mode 100644 index 0000000..7632cd3 --- /dev/null +++ b/gimuserver/gme/handlers/TrialDeckEditRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class TrialDeckEditRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "MbdL5D4K"; } + const char* GetAesKey() const override { return "Bb1T0qdC"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/TrialDeckGetRequestHandler.cpp b/gimuserver/gme/handlers/TrialDeckGetRequestHandler.cpp new file mode 100644 index 0000000..5ccb77e --- /dev/null +++ b/gimuserver/gme/handlers/TrialDeckGetRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "TrialDeckGetRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::TrialDeckGetRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/TrialDeckGetRequestHandler.hpp b/gimuserver/gme/handlers/TrialDeckGetRequestHandler.hpp new file mode 100644 index 0000000..a84c518 --- /dev/null +++ b/gimuserver/gme/handlers/TrialDeckGetRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class TrialDeckGetRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "gY63Zvy7"; } + const char* GetAesKey() const override { return "5QuLx4DG"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/TutorialSkipRequestHandler.cpp b/gimuserver/gme/handlers/TutorialSkipRequestHandler.cpp new file mode 100644 index 0000000..63d9224 --- /dev/null +++ b/gimuserver/gme/handlers/TutorialSkipRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "TutorialSkipRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::TutorialSkipRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/TutorialSkipRequestHandler.hpp b/gimuserver/gme/handlers/TutorialSkipRequestHandler.hpp new file mode 100644 index 0000000..5d0f058 --- /dev/null +++ b/gimuserver/gme/handlers/TutorialSkipRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class TutorialSkipRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "d36DaiJl"; } + const char* GetAesKey() const override { return "p3qD61db"; } + // TODO: Response has 2 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/TutorialUpdateRequestHandler.cpp b/gimuserver/gme/handlers/TutorialUpdateRequestHandler.cpp new file mode 100644 index 0000000..aa9bf6f --- /dev/null +++ b/gimuserver/gme/handlers/TutorialUpdateRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "TutorialUpdateRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::TutorialUpdateRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/TutorialUpdateRequestHandler.hpp b/gimuserver/gme/handlers/TutorialUpdateRequestHandler.hpp new file mode 100644 index 0000000..618bf78 --- /dev/null +++ b/gimuserver/gme/handlers/TutorialUpdateRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class TutorialUpdateRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "T1nCVvx4"; } + const char* GetAesKey() const override { return "7hqzmR3T"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/URLMstRequestHandler.cpp b/gimuserver/gme/handlers/URLMstRequestHandler.cpp new file mode 100644 index 0000000..ff0b902 --- /dev/null +++ b/gimuserver/gme/handlers/URLMstRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "URLMstRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::URLMstRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/URLMstRequestHandler.hpp b/gimuserver/gme/handlers/URLMstRequestHandler.hpp new file mode 100644 index 0000000..51f1322 --- /dev/null +++ b/gimuserver/gme/handlers/URLMstRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class URLMstRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "MfZyu1q9"; } + const char* GetAesKey() const override { return "EmcshnQoDr20TZz1"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/UnitBondBoostRequestHandler.cpp b/gimuserver/gme/handlers/UnitBondBoostRequestHandler.cpp new file mode 100644 index 0000000..5edcbc8 --- /dev/null +++ b/gimuserver/gme/handlers/UnitBondBoostRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "UnitBondBoostRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::UnitBondBoostRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/UnitBondBoostRequestHandler.hpp b/gimuserver/gme/handlers/UnitBondBoostRequestHandler.hpp new file mode 100644 index 0000000..1262fb8 --- /dev/null +++ b/gimuserver/gme/handlers/UnitBondBoostRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class UnitBondBoostRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "tr5rOwro"; } + const char* GetAesKey() const override { return "fus9A2ut"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/UnitEvoRequestHandler.cpp b/gimuserver/gme/handlers/UnitEvoRequestHandler.cpp new file mode 100644 index 0000000..7675a75 --- /dev/null +++ b/gimuserver/gme/handlers/UnitEvoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "UnitEvoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::UnitEvoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/UnitEvoRequestHandler.hpp b/gimuserver/gme/handlers/UnitEvoRequestHandler.hpp new file mode 100644 index 0000000..8be9de3 --- /dev/null +++ b/gimuserver/gme/handlers/UnitEvoRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class UnitEvoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "0gUSE84e"; } + const char* GetAesKey() const override { return "biHf01DxcrPou5Qt"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/UnitFavoriteRequestHandler.cpp b/gimuserver/gme/handlers/UnitFavoriteRequestHandler.cpp new file mode 100644 index 0000000..1b7c354 --- /dev/null +++ b/gimuserver/gme/handlers/UnitFavoriteRequestHandler.cpp @@ -0,0 +1,40 @@ +#include "UnitFavoriteRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::UnitFavoriteRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + //std::cout << req.toStyledString(); + + Json::Value d; + d["edy7fq3L"] = req["3kcmQy7B"][0]["edy7fq3L"]; // Unique String for Unit + d["5JbjC3Pp"] = req["3kcmQy7B"][0]["5JbjC3Pp"]; //Favorited or not? + res["3kcmQy7B"] = d; + + /* + * + * if (req.isMember("user_id")) { + requestUserId = req["user_id"].asString(); + user.info.userID = requestUserId; + LOG_INFO << "UserInfoHandler: Overriding user_id from request body to: " << requestUserId; + } + * + * + + "3kcmQy7B" : + [ + { + "2pAyFjmZ" : "1", + "5JbjC3Pp" : "1", + "edy7fq3L" : "11843" + } + + */ + + + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/UnitFavoriteRequestHandler.hpp b/gimuserver/gme/handlers/UnitFavoriteRequestHandler.hpp new file mode 100644 index 0000000..d1f61e6 --- /dev/null +++ b/gimuserver/gme/handlers/UnitFavoriteRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class UnitFavoriteRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "2p9LHCNh"; } + const char* GetAesKey() const override { return "cb4ESLa1"; } + // TODO: Response has 2 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/UnitMixRequestHandler.cpp b/gimuserver/gme/handlers/UnitMixRequestHandler.cpp new file mode 100644 index 0000000..96b6034 --- /dev/null +++ b/gimuserver/gme/handlers/UnitMixRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "UnitMixRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::UnitMixRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/UnitMixRequestHandler.hpp b/gimuserver/gme/handlers/UnitMixRequestHandler.hpp new file mode 100644 index 0000000..04434a3 --- /dev/null +++ b/gimuserver/gme/handlers/UnitMixRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class UnitMixRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "Mw08CIg2"; } + const char* GetAesKey() const override { return "JnegC7RrN3FoW8dQ"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/UnitOmniEvoRequestHandler.cpp b/gimuserver/gme/handlers/UnitOmniEvoRequestHandler.cpp new file mode 100644 index 0000000..60de0eb --- /dev/null +++ b/gimuserver/gme/handlers/UnitOmniEvoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "UnitOmniEvoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::UnitOmniEvoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/UnitOmniEvoRequestHandler.hpp b/gimuserver/gme/handlers/UnitOmniEvoRequestHandler.hpp new file mode 100644 index 0000000..07ccdf7 --- /dev/null +++ b/gimuserver/gme/handlers/UnitOmniEvoRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class UnitOmniEvoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "4Dk4spf9"; } + const char* GetAesKey() const override { return "4s3lsODp"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/UnitSelectorGachaTicketRequestHandler.cpp b/gimuserver/gme/handlers/UnitSelectorGachaTicketRequestHandler.cpp new file mode 100644 index 0000000..5d6265e --- /dev/null +++ b/gimuserver/gme/handlers/UnitSelectorGachaTicketRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "UnitSelectorGachaTicketRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::UnitSelectorGachaTicketRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/UnitSelectorGachaTicketRequestHandler.hpp b/gimuserver/gme/handlers/UnitSelectorGachaTicketRequestHandler.hpp new file mode 100644 index 0000000..a0f44c8 --- /dev/null +++ b/gimuserver/gme/handlers/UnitSelectorGachaTicketRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class UnitSelectorGachaTicketRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "k57TdKDj"; } + const char* GetAesKey() const override { return "1IJ8SaNk"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/UnitSellRequestHandler.cpp b/gimuserver/gme/handlers/UnitSellRequestHandler.cpp new file mode 100644 index 0000000..9fcb3bb --- /dev/null +++ b/gimuserver/gme/handlers/UnitSellRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "UnitSellRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::UnitSellRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/UnitSellRequestHandler.hpp b/gimuserver/gme/handlers/UnitSellRequestHandler.hpp new file mode 100644 index 0000000..89570e9 --- /dev/null +++ b/gimuserver/gme/handlers/UnitSellRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class UnitSellRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "Ri3uTq9b"; } + const char* GetAesKey() const override { return "92VqcGFWuPkmT60U"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/UpdateEventInfoRequestHandler.cpp b/gimuserver/gme/handlers/UpdateEventInfoRequestHandler.cpp new file mode 100644 index 0000000..53a6014 --- /dev/null +++ b/gimuserver/gme/handlers/UpdateEventInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "UpdateEventInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::UpdateEventInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/UpdateEventInfoRequestHandler.hpp b/gimuserver/gme/handlers/UpdateEventInfoRequestHandler.hpp new file mode 100644 index 0000000..79eb5cb --- /dev/null +++ b/gimuserver/gme/handlers/UpdateEventInfoRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class UpdateEventInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "rCB7ZI8x"; } + const char* GetAesKey() const override { return "L1o4eGbi"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/UpdateInfoLightHandler.cpp b/gimuserver/gme/handlers/UpdateInfoLightHandler.cpp deleted file mode 100644 index c2b70d0..0000000 --- a/gimuserver/gme/handlers/UpdateInfoLightHandler.cpp +++ /dev/null @@ -1,7 +0,0 @@ -#include "UpdateInfoLightHandler.hpp" - -void Handler::UpdateInfoLightHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const -{ - Json::Value res; - cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); -} diff --git a/gimuserver/gme/handlers/UpdateInfoLightRequestHandler.cpp b/gimuserver/gme/handlers/UpdateInfoLightRequestHandler.cpp new file mode 100644 index 0000000..d2593d1 --- /dev/null +++ b/gimuserver/gme/handlers/UpdateInfoLightRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "UpdateInfoLightRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::UpdateInfoLightRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/UpdateInfoLightHandler.hpp b/gimuserver/gme/handlers/UpdateInfoLightRequestHandler.hpp similarity index 84% rename from gimuserver/gme/handlers/UpdateInfoLightHandler.hpp rename to gimuserver/gme/handlers/UpdateInfoLightRequestHandler.hpp index d6f4ef1..593fde2 100644 --- a/gimuserver/gme/handlers/UpdateInfoLightHandler.hpp +++ b/gimuserver/gme/handlers/UpdateInfoLightRequestHandler.hpp @@ -3,7 +3,7 @@ #include "../GmeHandler.hpp" HANDLER_NS_BEGIN -class UpdateInfoLightHandler : public HandlerBase +class UpdateInfoLightRequestHandler : public HandlerBase { public: const char* GetGroupId() const override { return "ynB7X5P9"; } diff --git a/gimuserver/gme/handlers/UpdateInfoRequestHandler.cpp b/gimuserver/gme/handlers/UpdateInfoRequestHandler.cpp new file mode 100644 index 0000000..8e66e27 --- /dev/null +++ b/gimuserver/gme/handlers/UpdateInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "UpdateInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::UpdateInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/UpdateInfoRequestHandler.hpp b/gimuserver/gme/handlers/UpdateInfoRequestHandler.hpp new file mode 100644 index 0000000..de0ad1e --- /dev/null +++ b/gimuserver/gme/handlers/UpdateInfoRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class UpdateInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "RUV94Dqz"; } + const char* GetAesKey() const override { return "hy0P9xjsGJ6MAgb2"; } + // TODO: Response has 1 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/UpdatePermitPlaceInfoRequestHandler.cpp b/gimuserver/gme/handlers/UpdatePermitPlaceInfoRequestHandler.cpp new file mode 100644 index 0000000..98a20da --- /dev/null +++ b/gimuserver/gme/handlers/UpdatePermitPlaceInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "UpdatePermitPlaceInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::UpdatePermitPlaceInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/UpdatePermitPlaceInfoRequestHandler.hpp b/gimuserver/gme/handlers/UpdatePermitPlaceInfoRequestHandler.hpp new file mode 100644 index 0000000..4a760bc --- /dev/null +++ b/gimuserver/gme/handlers/UpdatePermitPlaceInfoRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class UpdatePermitPlaceInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "1MJT6L3W"; } + const char* GetAesKey() const override { return "3zip5Htw"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/UserEnteredFeatureRequestHandler.cpp b/gimuserver/gme/handlers/UserEnteredFeatureRequestHandler.cpp new file mode 100644 index 0000000..738de2d --- /dev/null +++ b/gimuserver/gme/handlers/UserEnteredFeatureRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "UserEnteredFeatureRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::UserEnteredFeatureRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/UserEnteredFeatureRequestHandler.hpp b/gimuserver/gme/handlers/UserEnteredFeatureRequestHandler.hpp new file mode 100644 index 0000000..5ada7a3 --- /dev/null +++ b/gimuserver/gme/handlers/UserEnteredFeatureRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class UserEnteredFeatureRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "983D5Dii"; } + const char* GetAesKey() const override { return "Dr6pwV3i"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/UserGemShardInfoRequestHandler.cpp b/gimuserver/gme/handlers/UserGemShardInfoRequestHandler.cpp new file mode 100644 index 0000000..ba79e55 --- /dev/null +++ b/gimuserver/gme/handlers/UserGemShardInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "UserGemShardInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::UserGemShardInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/UserGemShardInfoRequestHandler.hpp b/gimuserver/gme/handlers/UserGemShardInfoRequestHandler.hpp new file mode 100644 index 0000000..ec1b805 --- /dev/null +++ b/gimuserver/gme/handlers/UserGemShardInfoRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class UserGemShardInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "29slks49"; } + const char* GetAesKey() const override { return "930sDd3i"; } + // TODO: Response has 2 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/UserInfoHandler.cpp b/gimuserver/gme/handlers/UserInfoHandler.cpp deleted file mode 100644 index 80f308b..0000000 --- a/gimuserver/gme/handlers/UserInfoHandler.cpp +++ /dev/null @@ -1,423 +0,0 @@ -#include "UserInfoHandler.hpp" -#include -#include -#include -#include "gme/response/UserTeamInfo.hpp" -#include "gme/response/UserLoginCampaignInfo.hpp" -#include "gme/response/NoticeInfo.hpp" -#include "gme/response/UserItemDictionaryInfo.hpp" -#include "gme/response/UserTeamArchive.hpp" -#include "gme/response/UserUnitInfo.hpp" -#include "gme/response/UserPartyDeckInfo.hpp" -#include "gme/response/UserWarehouseInfo.hpp" -#include "gme/response/UserClearMissionInfo.hpp" -#include "gme/response/ItemFavorite.hpp" -#include "gme/response/UserItemDictionaryInfo.hpp" -#include "gme/response/UserTeamArenaArchive.hpp" -#include "gme/response/UserUnitDictionary.hpp" -#include "gme/response/UserFavorite.hpp" -#include "gme/response/UserArenaInfo.hpp" -#include "gme/response/UserGiftInfo.hpp" -#include "gme/response/VideoAdInfo.hpp" -#include "gme/response/VideoAdRegion.hpp" -#include "gme/response/SummonerJournalUserInfo.hpp" -#include "gme/response/SignalKey.hpp" -#include - -void Handler::UserInfoHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const -{ - // Extract and log the initial user ID - std::string requestUserId = user.info.userID; - LOG_INFO << "UserInfoHandler: Handling request for user_id (initial): " << requestUserId; - - // Check for user_id in the request body - if (req.isMember("user_id")) { - requestUserId = req["user_id"].asString(); - user.info.userID = requestUserId; - LOG_INFO << "UserInfoHandler: Overriding user_id from request body to: " << requestUserId; - } - else if (req.isMember("ak")) { // Check for ak parameter (from login context) - requestUserId = req["ak"].asString(); - user.info.userID = requestUserId; - LOG_INFO << "UserInfoHandler: Overriding user_id from request ak to: " << requestUserId; - } - else { - // Fallback: Use the user_id from the login response (hardcode for now) - requestUserId = "0839899613932562"; - user.info.userID = requestUserId; - LOG_INFO << "UserInfoHandler: No user_id or ak in request, using hardcoded user_id: " << requestUserId; - } - - // Check if this is a unit inventory or squad management request - std::string action = req.isMember("action") ? req["action"].asString() : ""; - if (action == "load_unit_inventory" || action == "Zw3WIoWu" || action == "load_squad_management") { - GME_DB->execSqlAsync( - "SELECT unit_id, name, rarity, element, stats, bb, leader_skill, ai FROM user_units WHERE user_id = $1 LIMIT 500", // LIMIT 1470 here - [this, &user, cb, action](const drogon::orm::Result& unitResult) { - LOG_INFO << "UserInfoHandler: Found " << unitResult.size() << " units for user_id: " << user.info.userID; - - Json::Value res; - Response::UserUnitInfo unitInfo; - for (const auto& row : unitResult) { - Response::UserUnitInfo::Data d; - d.userID = user.info.userID; - d.userUnitID = std::stoul(row["unit_id"].as()); - d.unitID = std::stoul(row["unit_id"].as()); - d.unitTypeID = row["rarity"].as(); - d.element = row["element"].as(); - d.unitLv = 1; - d.newFlg = 1; - d.receiveDate = 100; - d.FeBP = 100; - d.FeMaxUsableBP = 200; - - Json::Value stats; - Json::Reader reader; - std::string statsStr = row["stats"].as(); - if (!reader.parse(statsStr, stats)) { - LOG_ERROR << "Failed to parse stats JSON: " << statsStr; - stats = Json::Value(); - } - d.baseHp = stats.isMember("hp") ? stats["hp"].asUInt() : 1000; - d.baseAtk = stats.isMember("atk") ? stats["atk"].asUInt() : 1000; - d.baseDef = stats.isMember("def") ? stats["def"].asUInt() : 1000; - d.baseHeal = stats.isMember("rec") ? stats["rec"].asUInt() : 1000; - d.addHp = d.baseHp / 10; - d.addAtk = d.baseAtk / 10; - d.addDef = d.baseDef / 10; - d.addHeal = d.baseHeal / 10; - d.extHp = d.addHp; - d.extAtk = d.addAtk; - d.extDef = d.addDef; - d.extHeal = d.addHeal; - d.limitOverHP = d.baseHp / 5; - d.limitOverAtk = d.baseAtk / 5; - d.limitOverDef = d.baseDef / 5; - d.limitOverHeal = d.baseHeal / 5; - d.exp = 1; - d.totalExp = 1; - - unitInfo.Mst.emplace_back(d); - } - - // Fallback: Add a dummy unit if inventory is empty (to prevent crashes) - if (unitInfo.Mst.empty()) { - LOG_WARN << "UserInfoHandler: No units found, adding dummy unit for compatibility"; - Response::UserUnitInfo::Data d; - d.userID = user.info.userID; - d.userUnitID = 9999; - d.unitID = 9999; - d.unitTypeID = 1; - d.element = "fire"; - d.unitLv = 1; - d.newFlg = 1; - d.receiveDate = 100; - d.FeBP = 100; - d.FeMaxUsableBP = 200; - d.baseHp = 1000; - d.baseAtk = 1000; - d.baseDef = 1000; - d.baseHeal = 1000; - d.addHp = 100; - d.addAtk = 100; - d.addDef = 100; - d.addHeal = 100; - d.extHp = 100; - d.extAtk = 100; - d.extDef = 100; - d.extHeal = 100; - d.limitOverHP = 200; - d.limitOverAtk = 200; - d.limitOverDef = 200; - d.limitOverHeal = 200; - d.exp = 1; - d.totalExp = 1; - unitInfo.Mst.emplace_back(d); - } - - unitInfo.Serialize(res); - - // Initialize party with the first unit to avoid Empty_Party_Info - Response::UserPartyDeckInfo deckInfo; - if (!unitInfo.Mst.empty()) { - Response::UserPartyDeckInfo::Data d; - d.deckNum = 0; - d.deckType = 1; - d.dispOrder = 0; - d.memberType = 0; // Leader - d.userUnitID = unitInfo.Mst[0].userUnitID; - deckInfo.Mst.emplace_back(d); - } - deckInfo.Serialize(res); - - cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); - return; - }, - [this, cb](const drogon::orm::DrogonDbException& e) { OnError(e, cb); }, - user.info.userID - ); - return; - } - - // Original logic for initial load - GME_DB->execSqlAsync( - "SELECT level, exp, max_unit_count, max_friend_count, " - "zel, karma, brave_coin, max_warehouse_count, want_gift, " - "free_gems, paid_gems, active_deck, summon_tickets, " - "rainbow_coins, colosseum_tickets, active_arena_deck, " - "total_brave_points, avail_brave_points, energy " - "FROM userinfo WHERE id = $1", - [this, &user, cb](const drogon::orm::Result& result) { - if (result.size() > 0) { - int col = 0; - auto& sql = result[0]; - user.teamInfo.UserID = user.info.userID; - user.teamInfo.Level = sql[col++].as(); - user.teamInfo.Exp = sql[col++].as(); - user.teamInfo.MaxUnitCount = sql[col++].as(); - user.teamInfo.MaxFriendCount = sql[col++].as(); - user.teamInfo.Zel = sql[col++].as(); - user.teamInfo.Karma = sql[col++].as(); - user.teamInfo.BraveCoin = sql[col++].as(); - user.teamInfo.WarehouseCount = sql[col++].as(); - user.teamInfo.WantGift = sql[col++].as(); - user.teamInfo.FreeGems = sql[col++].as(); - user.teamInfo.PaidGems = sql[col++].as(); - user.teamInfo.ActiveDeck = sql[col++].as(); - user.teamInfo.SummonTicket = sql[col++].as(); - user.teamInfo.RainbowCoin = sql[col++].as(); - user.teamInfo.ColosseumTicket = sql[col++].as(); - user.teamInfo.ArenaDeckNum = sql[col++].as(); - user.teamInfo.BravePointsTotal = sql[col++].as(); - user.teamInfo.CurrentBravePoints = sql[col++].as(); - user.teamInfo.ActionPoint = sql[col++].as(); - } - else { - auto sc = System::Instance().MstConfig().StartInfo(); - user.teamInfo.UserID = user.info.userID; - user.teamInfo.Level = sc.Level; - user.teamInfo.Exp = 0; - user.teamInfo.MaxUnitCount = 2292; // Updated to match unit count - user.teamInfo.MaxFriendCount = sc.FriendCount; - user.teamInfo.Zel = sc.Zel; - user.teamInfo.Karma = sc.Karma; - user.teamInfo.BraveCoin = 0; - user.teamInfo.WarehouseCount = 2292; // Updated to match unit count - user.teamInfo.FreeGems = sc.FreeGems; - user.teamInfo.PaidGems = sc.PaidGems; - user.teamInfo.SummonTicket = sc.SummonTickets; - user.teamInfo.ColosseumTicket = sc.ColosseumTickets; - - // Insert default userinfo to simulate proper login flow - GME_DB->execSqlAsync( - "INSERT INTO userinfo (id, level, exp, max_unit_count, max_friend_count, zel, karma, brave_coin, max_warehouse_count, want_gift, free_gems, paid_gems, active_deck, summon_tickets, rainbow_coins, colosseum_tickets, active_arena_deck, total_brave_points, avail_brave_points, energy) " - "VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20)", - [](const drogon::orm::Result& result) { - LOG_INFO << "UserInfoHandler: Inserted default userinfo for new user"; - }, - [](const drogon::orm::DrogonDbException& e) { - LOG_ERROR << "UserInfoHandler: Failed to insert default userinfo: " << e.base().what(); - }, - user.info.userID, user.teamInfo.Level, user.teamInfo.Exp, user.teamInfo.MaxUnitCount, user.teamInfo.MaxFriendCount, - user.teamInfo.Zel, user.teamInfo.Karma, user.teamInfo.BraveCoin, user.teamInfo.WarehouseCount, user.teamInfo.WantGift, - user.teamInfo.FreeGems, user.teamInfo.PaidGems, user.teamInfo.ActiveDeck, user.teamInfo.SummonTicket, user.teamInfo.RainbowCoin, - user.teamInfo.ColosseumTicket, user.teamInfo.ArenaDeckNum, user.teamInfo.BravePointsTotal, user.teamInfo.CurrentBravePoints, user.teamInfo.ActionPoint - ); - } - - const auto& msts = System::Instance().MstConfig(); - { - const auto& p = msts.GetProgressionInfo().Mst.at(user.teamInfo.Level - 1); - user.teamInfo.DeckCost = p.deckCost; - user.teamInfo.MaxFriendCount = p.friendCount; - user.teamInfo.AddFriendCount = p.addFriendCount; - user.teamInfo.MaxActionPoint = p.actionPoints; - if (user.teamInfo.ActionPoint == 0) - user.teamInfo.ActionPoint = user.teamInfo.MaxActionPoint; - } - - GME_DB->execSqlAsync( - "SELECT unit_id, name, rarity, element, stats, bb, leader_skill, ai FROM user_units WHERE user_id = $1 LIMIT 500", // LIMIT 1470 here at end - [this, &user, cb](const drogon::orm::Result& unitResult) { - LOG_INFO << "UserInfoHandler: Found " << unitResult.size() << " units for user_id: " << user.info.userID; - - Json::Value res; - user.info.Serialize(res); - user.teamInfo.Serialize(res); - - { - Response::UserLoginCampaignInfo v; - v.currentDay = 1; - v.totalDays = 96; - v.firstForTheDay = true; - v.Serialize(res); - } - - { - Response::UserTeamArchive v; - v.Serialize(res); - } - - { - Response::UserTeamArenaArchive v; - v.Serialize(res); - } - - Response::UserUnitInfo unitInfo; - for (const auto& row : unitResult) { - Response::UserUnitInfo::Data d; - d.userID = user.info.userID; - d.userUnitID = std::stoul(row["unit_id"].as()); - d.unitID = std::stoul(row["unit_id"].as()); - d.unitTypeID = row["rarity"].as(); - d.element = row["element"].as(); - d.unitLv = 1; - d.newFlg = 1; - d.receiveDate = 100; - d.FeBP = 100; - d.FeMaxUsableBP = 200; - - Json::Value stats; - Json::Reader reader; - std::string statsStr = row["stats"].as(); - if (!reader.parse(statsStr, stats)) { - LOG_ERROR << "Failed to parse stats JSON: " << statsStr; - stats = Json::Value(); - } - d.baseHp = stats.isMember("hp") ? stats["hp"].asUInt() : 1000; - d.baseAtk = stats.isMember("atk") ? stats["atk"].asUInt() : 1000; - d.baseDef = stats.isMember("def") ? stats["def"].asUInt() : 1000; - d.baseHeal = stats.isMember("rec") ? stats["rec"].asUInt() : 1000; - d.addHp = d.baseHp / 10; - d.addAtk = d.baseAtk / 10; - d.addDef = d.baseDef / 10; - d.addHeal = d.baseHeal / 10; - d.extHp = d.addHp; - d.extAtk = d.addAtk; - d.extDef = d.addDef; - d.extHeal = d.addHeal; - d.limitOverHP = d.baseHp / 5; - d.limitOverAtk = d.baseAtk / 5; - d.limitOverDef = d.baseDef / 5; - d.limitOverHeal = d.baseHeal / 5; - d.exp = 1; - d.totalExp = 1; - - unitInfo.Mst.emplace_back(d); - } - - // Fallback: Add a dummy unit if inventory is empty - if (unitInfo.Mst.empty()) { - LOG_WARN << "UserInfoHandler: No units found, adding dummy unit for compatibility"; - Response::UserUnitInfo::Data d; - d.userID = user.info.userID; - d.userUnitID = 9999; - d.unitID = 9999; - d.unitTypeID = 1; - d.element = "fire"; - d.unitLv = 1; - d.newFlg = 1; - d.receiveDate = 100; - d.FeBP = 100; - d.FeMaxUsableBP = 200; - d.baseHp = 1000; - d.baseAtk = 1000; - d.baseDef = 1000; - d.baseHeal = 1000; - d.addHp = 100; - d.addAtk = 100; - d.addDef = 100; - d.addHeal = 100; - d.extHp = 100; - d.extAtk = 100; - d.extDef = 100; - d.extHeal = 100; - d.limitOverHP = 200; - d.limitOverAtk = 200; - d.limitOverDef = 200; - d.limitOverHeal = 200; - d.exp = 1; - d.totalExp = 1; - unitInfo.Mst.emplace_back(d); - } - - unitInfo.Serialize(res); - - { - Response::UserPartyDeckInfo deckInfo; - if (!unitInfo.Mst.empty()) { - Response::UserPartyDeckInfo::Data d; - d.deckNum = 0; - d.deckType = 1; - d.dispOrder = 0; - d.memberType = 0; // Leader - d.userUnitID = unitInfo.Mst[0].userUnitID; - deckInfo.Mst.emplace_back(d); - } - deckInfo.Serialize(res); - } - - { - Response::UserUnitDictionary v; - v.Serialize(res); - } - - { - Response::UserFavorite v; - v.Serialize(res); - } - - { - Response::UserClearMissionInfo v; - v.Serialize(res); - } - - { - Response::UserWarehouseInfo v; - v.Serialize(res); - } - - { - Response::ItemFavorite v; - v.Serialize(res); - } - - { - Response::UserItemDictionaryInfo v; - v.Serialize(res); - } - - { - Response::UserArenaInfo v; - v.Serialize(res); - } - - { - Response::UserGiftInfo v; - v.Serialize(res); - } - - { - Response::SummonerJournalUserInfo v; - v.userId = user.info.userID; - v.Serialize(res); - } - - { - Response::SignalKey v; - v.key = "5EdKHavF"; - v.Serialize(res); - } - - System::Instance().MstConfig().CopyUserInfoMstTo(res); - - cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); - }, - [this, cb](const drogon::orm::DrogonDbException& e) { OnError(e, cb); }, - user.info.userID - ); - }, - [this, cb](const drogon::orm::DrogonDbException& e) { OnError(e, cb); }, - user.info.userID - ); -} \ No newline at end of file diff --git a/gimuserver/gme/handlers/UserInfoHandler.hpp b/gimuserver/gme/handlers/UserInfoHandler.hpp deleted file mode 100644 index 09707c2..0000000 --- a/gimuserver/gme/handlers/UserInfoHandler.hpp +++ /dev/null @@ -1,13 +0,0 @@ -#pragma once - -#include "../GmeHandler.hpp" - -HANDLER_NS_BEGIN -class UserInfoHandler : public HandlerBase -{ -public: - const char* GetGroupId() const override { return "cTZ3W2JG"; } - const char* GetAesKey() const override { return "ScJx6ywWEb0A3njT"; } - void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; -}; -HANDLER_NS_END diff --git a/gimuserver/gme/handlers/UserLoginCampaignInfoRequestHandler.cpp b/gimuserver/gme/handlers/UserLoginCampaignInfoRequestHandler.cpp new file mode 100644 index 0000000..9b8f0e8 --- /dev/null +++ b/gimuserver/gme/handlers/UserLoginCampaignInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "UserLoginCampaignInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::UserLoginCampaignInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/UserLoginCampaignInfoRequestHandler.hpp b/gimuserver/gme/handlers/UserLoginCampaignInfoRequestHandler.hpp new file mode 100644 index 0000000..a290d5e --- /dev/null +++ b/gimuserver/gme/handlers/UserLoginCampaignInfoRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class UserLoginCampaignInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "5fc8bf2c"; } + const char* GetAesKey() const override { return "4eb7ce1b"; } + // TODO: Response has 4 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/UserSummonerInfoEditRequestHandler.cpp b/gimuserver/gme/handlers/UserSummonerInfoEditRequestHandler.cpp new file mode 100644 index 0000000..316f6ba --- /dev/null +++ b/gimuserver/gme/handlers/UserSummonerInfoEditRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "UserSummonerInfoEditRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::UserSummonerInfoEditRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/UserSummonerInfoEditRequestHandler.hpp b/gimuserver/gme/handlers/UserSummonerInfoEditRequestHandler.hpp new file mode 100644 index 0000000..8e76cdd --- /dev/null +++ b/gimuserver/gme/handlers/UserSummonerInfoEditRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class UserSummonerInfoEditRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "ZJYkXcHo"; } + const char* GetAesKey() const override { return "lyR0us9b"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/UserTournamentInfoRequestHandler.cpp b/gimuserver/gme/handlers/UserTournamentInfoRequestHandler.cpp new file mode 100644 index 0000000..810cacd --- /dev/null +++ b/gimuserver/gme/handlers/UserTournamentInfoRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "UserTournamentInfoRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::UserTournamentInfoRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/UserTournamentInfoRequestHandler.hpp b/gimuserver/gme/handlers/UserTournamentInfoRequestHandler.hpp new file mode 100644 index 0000000..f977e9d --- /dev/null +++ b/gimuserver/gme/handlers/UserTournamentInfoRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class UserTournamentInfoRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "L2kdaTx9"; } + const char* GetAesKey() const override { return "10db8akS5kaZ32lM"; } + // TODO: Response has 5 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/VideoAdCompleteRequestHandler.cpp b/gimuserver/gme/handlers/VideoAdCompleteRequestHandler.cpp new file mode 100644 index 0000000..ebb70a6 --- /dev/null +++ b/gimuserver/gme/handlers/VideoAdCompleteRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "VideoAdCompleteRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::VideoAdCompleteRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/VideoAdCompleteRequestHandler.hpp b/gimuserver/gme/handlers/VideoAdCompleteRequestHandler.hpp new file mode 100644 index 0000000..862eae4 --- /dev/null +++ b/gimuserver/gme/handlers/VideoAdCompleteRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class VideoAdCompleteRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "r234ydi1"; } + const char* GetAesKey() const override { return "mDqi310y"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/VideoAdSlotsClaimBonusRequestHandler.cpp b/gimuserver/gme/handlers/VideoAdSlotsClaimBonusRequestHandler.cpp new file mode 100644 index 0000000..d8177f5 --- /dev/null +++ b/gimuserver/gme/handlers/VideoAdSlotsClaimBonusRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "VideoAdSlotsClaimBonusRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::VideoAdSlotsClaimBonusRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/VideoAdSlotsClaimBonusRequestHandler.hpp b/gimuserver/gme/handlers/VideoAdSlotsClaimBonusRequestHandler.hpp new file mode 100644 index 0000000..5dc9b70 --- /dev/null +++ b/gimuserver/gme/handlers/VideoAdSlotsClaimBonusRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class VideoAdSlotsClaimBonusRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "29s22s49"; } + const char* GetAesKey() const override { return "93055d2i"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/VideoAdSlotsCompleteRequestHandler.cpp b/gimuserver/gme/handlers/VideoAdSlotsCompleteRequestHandler.cpp new file mode 100644 index 0000000..1d2e986 --- /dev/null +++ b/gimuserver/gme/handlers/VideoAdSlotsCompleteRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "VideoAdSlotsCompleteRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::VideoAdSlotsCompleteRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/VideoAdSlotsCompleteRequestHandler.hpp b/gimuserver/gme/handlers/VideoAdSlotsCompleteRequestHandler.hpp new file mode 100644 index 0000000..2643a4c --- /dev/null +++ b/gimuserver/gme/handlers/VideoAdSlotsCompleteRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class VideoAdSlotsCompleteRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "ifL3TZim"; } + const char* GetAesKey() const override { return "FxYPUrf4"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/VideoAdSlotsStandInfoRefreshRequestHandler.cpp b/gimuserver/gme/handlers/VideoAdSlotsStandInfoRefreshRequestHandler.cpp new file mode 100644 index 0000000..4ef9bc5 --- /dev/null +++ b/gimuserver/gme/handlers/VideoAdSlotsStandInfoRefreshRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "VideoAdSlotsStandInfoRefreshRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::VideoAdSlotsStandInfoRefreshRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/VideoAdSlotsStandInfoRefreshRequestHandler.hpp b/gimuserver/gme/handlers/VideoAdSlotsStandInfoRefreshRequestHandler.hpp new file mode 100644 index 0000000..dccd01e --- /dev/null +++ b/gimuserver/gme/handlers/VideoAdSlotsStandInfoRefreshRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class VideoAdSlotsStandInfoRefreshRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "jwgJVpUP"; } + const char* GetAesKey() const override { return "sjrlKA3D"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/VideoAdsSlotActionRequestHandler.cpp b/gimuserver/gme/handlers/VideoAdsSlotActionRequestHandler.cpp new file mode 100644 index 0000000..5711a47 --- /dev/null +++ b/gimuserver/gme/handlers/VideoAdsSlotActionRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "VideoAdsSlotActionRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::VideoAdsSlotActionRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/VideoAdsSlotActionRequestHandler.hpp b/gimuserver/gme/handlers/VideoAdsSlotActionRequestHandler.hpp new file mode 100644 index 0000000..7cf64dc --- /dev/null +++ b/gimuserver/gme/handlers/VideoAdsSlotActionRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class VideoAdsSlotActionRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "AjKpMC9a"; } + const char* GetAesKey() const override { return "X2esANNz"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/VortexArenaBattleEndRequestHandler.cpp b/gimuserver/gme/handlers/VortexArenaBattleEndRequestHandler.cpp new file mode 100644 index 0000000..0fd94f4 --- /dev/null +++ b/gimuserver/gme/handlers/VortexArenaBattleEndRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "VortexArenaBattleEndRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::VortexArenaBattleEndRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/VortexArenaBattleEndRequestHandler.hpp b/gimuserver/gme/handlers/VortexArenaBattleEndRequestHandler.hpp new file mode 100644 index 0000000..4f59084 --- /dev/null +++ b/gimuserver/gme/handlers/VortexArenaBattleEndRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class VortexArenaBattleEndRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "89HrE13b"; } + const char* GetAesKey() const override { return "i4gkTv3a"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/VortexArenaBattleStartRequestHandler.cpp b/gimuserver/gme/handlers/VortexArenaBattleStartRequestHandler.cpp new file mode 100644 index 0000000..2618c57 --- /dev/null +++ b/gimuserver/gme/handlers/VortexArenaBattleStartRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "VortexArenaBattleStartRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::VortexArenaBattleStartRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/VortexArenaBattleStartRequestHandler.hpp b/gimuserver/gme/handlers/VortexArenaBattleStartRequestHandler.hpp new file mode 100644 index 0000000..82dc42e --- /dev/null +++ b/gimuserver/gme/handlers/VortexArenaBattleStartRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class VortexArenaBattleStartRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "j3s0iNM1"; } + const char* GetAesKey() const override { return "uTk8nBdi"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/VortexArenaClaimDailyRequestHandler.cpp b/gimuserver/gme/handlers/VortexArenaClaimDailyRequestHandler.cpp new file mode 100644 index 0000000..d4e4c85 --- /dev/null +++ b/gimuserver/gme/handlers/VortexArenaClaimDailyRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "VortexArenaClaimDailyRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::VortexArenaClaimDailyRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/VortexArenaClaimDailyRequestHandler.hpp b/gimuserver/gme/handlers/VortexArenaClaimDailyRequestHandler.hpp new file mode 100644 index 0000000..b8b394d --- /dev/null +++ b/gimuserver/gme/handlers/VortexArenaClaimDailyRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class VortexArenaClaimDailyRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "j3cyKi8o"; } + const char* GetAesKey() const override { return "abI7o6dT"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/VortexArenaClaimRequestHandler.cpp b/gimuserver/gme/handlers/VortexArenaClaimRequestHandler.cpp new file mode 100644 index 0000000..4a4761a --- /dev/null +++ b/gimuserver/gme/handlers/VortexArenaClaimRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "VortexArenaClaimRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::VortexArenaClaimRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/VortexArenaClaimRequestHandler.hpp b/gimuserver/gme/handlers/VortexArenaClaimRequestHandler.hpp new file mode 100644 index 0000000..77885fa --- /dev/null +++ b/gimuserver/gme/handlers/VortexArenaClaimRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class VortexArenaClaimRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "iwo032Yj"; } + const char* GetAesKey() const override { return "ab30d5H2"; } + // TODO: Response has 1 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/VortexArenaLeaderboardRequestHandler.cpp b/gimuserver/gme/handlers/VortexArenaLeaderboardRequestHandler.cpp new file mode 100644 index 0000000..afd3a10 --- /dev/null +++ b/gimuserver/gme/handlers/VortexArenaLeaderboardRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "VortexArenaLeaderboardRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::VortexArenaLeaderboardRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/VortexArenaLeaderboardRequestHandler.hpp b/gimuserver/gme/handlers/VortexArenaLeaderboardRequestHandler.hpp new file mode 100644 index 0000000..38c94a1 --- /dev/null +++ b/gimuserver/gme/handlers/VortexArenaLeaderboardRequestHandler.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class VortexArenaLeaderboardRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "290aD3iY"; } + const char* GetAesKey() const override { return "d2l0Bdi8"; } + // TODO: Response has 11 parameters to implement + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/VortexArenaMatchingRequestHandler.cpp b/gimuserver/gme/handlers/VortexArenaMatchingRequestHandler.cpp new file mode 100644 index 0000000..02a13b8 --- /dev/null +++ b/gimuserver/gme/handlers/VortexArenaMatchingRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "VortexArenaMatchingRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::VortexArenaMatchingRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/VortexArenaMatchingRequestHandler.hpp b/gimuserver/gme/handlers/VortexArenaMatchingRequestHandler.hpp new file mode 100644 index 0000000..687fc7d --- /dev/null +++ b/gimuserver/gme/handlers/VortexArenaMatchingRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class VortexArenaMatchingRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "b5TunM93"; } + const char* GetAesKey() const override { return "a7GkyuV3"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/VortexArenaRetireRequestHandler.cpp b/gimuserver/gme/handlers/VortexArenaRetireRequestHandler.cpp new file mode 100644 index 0000000..0c33a8f --- /dev/null +++ b/gimuserver/gme/handlers/VortexArenaRetireRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "VortexArenaRetireRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::VortexArenaRetireRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/VortexArenaRetireRequestHandler.hpp b/gimuserver/gme/handlers/VortexArenaRetireRequestHandler.hpp new file mode 100644 index 0000000..e855ac5 --- /dev/null +++ b/gimuserver/gme/handlers/VortexArenaRetireRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class VortexArenaRetireRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "R34vyqw7"; } + const char* GetAesKey() const override { return "j8M3a93W"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/handlers/VortexArenaTopRequestHandler.cpp b/gimuserver/gme/handlers/VortexArenaTopRequestHandler.cpp new file mode 100644 index 0000000..a24806a --- /dev/null +++ b/gimuserver/gme/handlers/VortexArenaTopRequestHandler.cpp @@ -0,0 +1,11 @@ +#include "VortexArenaTopRequestHandler.hpp" +#include "gme/response/SignalKey.hpp" +#include "gme/response/UserUnitInfo.hpp" +#include "core/System.hpp" + +void Handler::VortexArenaTopRequestHandler::Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const +{ + Json::Value res; + + cb(newGmeOkResponse(GetGroupId(), GetAesKey(), res)); +} diff --git a/gimuserver/gme/handlers/VortexArenaTopRequestHandler.hpp b/gimuserver/gme/handlers/VortexArenaTopRequestHandler.hpp new file mode 100644 index 0000000..1f53e11 --- /dev/null +++ b/gimuserver/gme/handlers/VortexArenaTopRequestHandler.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include "../GmeHandler.hpp" + +HANDLER_NS_BEGIN +class VortexArenaTopRequestHandler : public HandlerBase +{ +public: + const char* GetGroupId() const override { return "lp3a7bvD"; } + const char* GetAesKey() const override { return "38ab793G"; } + void Handle(UserInfo& user, DrogonCallback cb, const Json::Value& req) const override; +}; +HANDLER_NS_END diff --git a/gimuserver/gme/response/BadgeInfo.hpp b/gimuserver/gme/response/BadgeInfo.hpp index ac400d2..76f079a 100644 --- a/gimuserver/gme/response/BadgeInfo.hpp +++ b/gimuserver/gme/response/BadgeInfo.hpp @@ -5,10 +5,19 @@ RESPONSE_NS_BEGIN struct BadgeInfo : public IResponse { - const char* getGroupName() const override { return "h23iRjGN"; } + const char* getGroupName() const override { return "h23iRjGN"; } // Found in GameResponseParser + + /* + Location: GameResponseParser::getResponseObject [.text] + if ( !strcmp(s1, "h23iRjGN") ) + { + v3 = (MessageResponse *)operator new(0x18uLL); + BadgeInfoResponse::BadgeInfoResponse(v3); + } + */ explicit BadgeInfo() : scenarioNum(0), unitDictNum(0), itemDictNum(0), - newFrohun(0), dungeonKeyNum(0) {} + newFrohun(0), dungeonKeyNum(0) {} uint32_t scenarioNum, unitDictNum, itemDictNum, newFrohun, dungeonKeyNum; @@ -17,8 +26,8 @@ struct BadgeInfo : public IResponse protected: void SerializeFields(Json::Value& v, size_t) const override { - v["u7Htm9P4"] = std::to_string(scenarioNum); - v["yCLEs28F"] = std::to_string(unitDictNum); + v["u7Htm9P4"] = std::to_string(scenarioNum); //Found in BadgeInfoResponse::readParam + v["yCLEs28F"] = std::to_string(unitDictNum); //Types are infered, and tested. v["iakSd6m8"] = std::to_string(itemDictNum); v["4AjsNu0m"] = std::to_string(newFrohun); v["dD40xrsh"] = std::to_string(dungeonKeyNum); diff --git a/gimuserver/gme/response/ChallengeGradeMst.hpp b/gimuserver/gme/response/ChallengeGradeMst.hpp deleted file mode 100644 index e69de29..0000000 diff --git a/gimuserver/gme/response/ChallengeHr.hpp b/gimuserver/gme/response/ChallengeHr.hpp deleted file mode 100644 index e69de29..0000000 diff --git a/gimuserver/gme/response/ChallengeItemMst.hpp b/gimuserver/gme/response/ChallengeItemMst.hpp deleted file mode 100644 index e69de29..0000000 diff --git a/gimuserver/gme/response/ChallengeMisMst.hpp b/gimuserver/gme/response/ChallengeMisMst.hpp deleted file mode 100644 index e69de29..0000000 diff --git a/gimuserver/gme/response/ChallengeMst.hpp b/gimuserver/gme/response/ChallengeMst.hpp deleted file mode 100644 index e69de29..0000000 diff --git a/gimuserver/gme/response/ChallengeMvp.hpp b/gimuserver/gme/response/ChallengeMvp.hpp deleted file mode 100644 index e69de29..0000000 diff --git a/gimuserver/gme/response/ChallengeRankRewardMst.hpp b/gimuserver/gme/response/ChallengeRankRewardMst.hpp deleted file mode 100644 index e69de29..0000000 diff --git a/gimuserver/gme/response/ChallengeRewardMst.hpp b/gimuserver/gme/response/ChallengeRewardMst.hpp deleted file mode 100644 index e69de29..0000000 diff --git a/gimuserver/gme/response/DailyBPInfo.hpp b/gimuserver/gme/response/DailyBPInfo.hpp deleted file mode 100644 index e69de29..0000000 diff --git a/gimuserver/gme/response/HelpMst.hpp b/gimuserver/gme/response/HelpMst.hpp deleted file mode 100644 index e69de29..0000000 diff --git a/gimuserver/gme/response/HelpSubMst.hpp b/gimuserver/gme/response/HelpSubMst.hpp deleted file mode 100644 index e69de29..0000000 diff --git a/gimuserver/gme/response/InformationMst.hpp b/gimuserver/gme/response/InformationMst.hpp deleted file mode 100644 index e69de29..0000000 diff --git a/gimuserver/gme/response/InteractiveBannerInfo.hpp b/gimuserver/gme/response/InteractiveBannerInfo.hpp deleted file mode 100644 index e69de29..0000000 diff --git a/gimuserver/gme/response/MissionStartInfo.hpp b/gimuserver/gme/response/MissionStartInfo.hpp new file mode 100644 index 0000000..09f2100 --- /dev/null +++ b/gimuserver/gme/response/MissionStartInfo.hpp @@ -0,0 +1,53 @@ +#pragma once + +#include "../GmeRequest.hpp" + +RESPONSE_NS_BEGIN +struct MissionStartInfo : public IResponse +{ + struct Data + { + std::string userID; + std::string reinforceUserID; + uint32_t friendPoint; + std::string missionID; + std::string reinforceInfo; // "1VagK32J" field, not present in the provided response + uint32_t deckNum; + uint32_t bonusType; + float bonusRate; + + explicit Data() : friendPoint(0), deckNum(0), bonusType(0), bonusRate(0.0f) + { + } + + void Serialize(Json::Value& v) const + { + v["h7eY3sAK"] = reinforceUserID; // str + v["J3stQ7jd"] = std::to_string(friendPoint); // str + v["j28VNcUW"] = missionID; // str + if (!reinforceInfo.empty()) { + v["1VagK32J"] = reinforceInfo; // str + } + v["Z0Y4RoD7"] = std::to_string(deckNum); // str + if (bonusType != 0) { + v["nA95Bdj6"] = std::to_string(bonusType); // str + } + if (bonusRate != 0.0f) { + v["5Z1LNoyH"] = std::to_string(bonusRate); // str + } + } + }; + + const char* getGroupName() const override { return "fEi17cnx"; } + + std::vector Mst; + +protected: + size_t getRespCount() const override { return Mst.size(); } + + void SerializeFields(Json::Value& v, size_t i) const override + { + Mst.at(i).Serialize(v); + } +}; +RESPONSE_NS_END \ No newline at end of file diff --git a/gimuserver/gme/response/PermitRecipe.hpp b/gimuserver/gme/response/PermitRecipe.hpp deleted file mode 100644 index e69de29..0000000 diff --git a/gimuserver/gme/response/ServerInfo.hpp b/gimuserver/gme/response/ServerInfo.hpp deleted file mode 100644 index e69de29..0000000 diff --git a/gimuserver/gme/response/ServerTime.hpp b/gimuserver/gme/response/ServerTime.hpp deleted file mode 100644 index e69de29..0000000 diff --git a/gimuserver/gme/response/SlotGameInfo.hpp b/gimuserver/gme/response/SlotGameInfo.hpp index 29a092a..5bf7150 100644 --- a/gimuserver/gme/response/SlotGameInfo.hpp +++ b/gimuserver/gme/response/SlotGameInfo.hpp @@ -5,7 +5,7 @@ RESPONSE_NS_BEGIN struct SlotGameInfo : public IResponse { - uint32_t id; + uint32_t id = 0; // initialized to suppress C26495 std::string name; std::string reelPos; std::string useMedal; @@ -26,4 +26,4 @@ struct SlotGameInfo : public IResponse v["TX98PnpE"] = slotImage; } }; -RESPONSE_NS_END +RESPONSE_NS_END \ No newline at end of file diff --git a/gimuserver/gme/response/SoundMst.hpp b/gimuserver/gme/response/SoundMst.hpp deleted file mode 100644 index e69de29..0000000 diff --git a/gimuserver/gme/response/TrophyGradeMst.hpp b/gimuserver/gme/response/TrophyGradeMst.hpp deleted file mode 100644 index e69de29..0000000 diff --git a/gimuserver/gme/response/TrophyGroupMst.hpp b/gimuserver/gme/response/TrophyGroupMst.hpp deleted file mode 100644 index e69de29..0000000 diff --git a/gimuserver/gme/response/TrophyMst.hpp b/gimuserver/gme/response/TrophyMst.hpp deleted file mode 100644 index e69de29..0000000 diff --git a/gimuserver/gme/response/UserAchievementInfo.hpp b/gimuserver/gme/response/UserAchievementInfo.hpp deleted file mode 100644 index 5b8ec2b..0000000 --- a/gimuserver/gme/response/UserAchievementInfo.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../GmeRequest.hpp" - -RESPONSE_NS_BEGIN -struct UserAchievementInfo : public IResponse -{ - bool isArray() const override { return false; } - const char* getGroupName() const override { return "Bnc4LpM8"; } - -protected: - void SerializeFields(Json::Value& v, size_t i) const override - { - // TODO - } -}; -RESPONSE_NS_END diff --git a/gimuserver/gme/response/UserUnitInfo.hpp b/gimuserver/gme/response/UserUnitInfo.hpp index 178b22f..89dfa7c 100644 --- a/gimuserver/gme/response/UserUnitInfo.hpp +++ b/gimuserver/gme/response/UserUnitInfo.hpp @@ -53,15 +53,15 @@ struct UserUnitInfo : public IResponse v["67CApcti"] = baseAtk; v["RT4CtH5d"] = addAtk; v["t4m1RH6Y"] = extAtk; - v["D6bKH5eV"] = limitOverAtk; + v["D6bKH5eV"] = limitOverAtk; //? Not in order with IDA v["q08xLEsy"] = baseDef; v["GcMD0hy6"] = addDef; v["e6mY8Z0k"] = extDef; - v["3CsiQA0h"] = limitOverDef; + v["3CsiQA0h"] = limitOverDef; //? Not in order with IDA v["PWXu25cg"] = baseHeal; v["C1HZr3pb"] = addHeal; v["X6jf8DUw"] = extHeal; - v["XJs2rPx0"] = limitOverHeal; + v["XJs2rPx0"] = limitOverHeal; //? Not in order with IDA v["iNy0ZU5M"] = element; v["oS3kTZ2W"] = std::to_string(leaderSkillID); // str v["nj9Lw7mV"] = skillID; // str @@ -89,10 +89,15 @@ struct UserUnitInfo : public IResponse } }; - const char* getGroupName() const override { return "4ceMWH6k"; } + const char* getGroupName() const override { + if (overwrite) return "4ceMWH6k"; // Overwrite all units ? + return "qC2tJs4E"; // Add to existing units ? + } std::vector Mst; + bool overwrite = true; // For summoning, set to false. + protected: size_t getRespCount() const override { return Mst.size(); } diff --git a/gimuserver/gumiapi/AccountController.cpp b/gimuserver/gumiapi/AccountController.cpp index eed43ce..baf51d1 100644 --- a/gimuserver/gumiapi/AccountController.cpp +++ b/gimuserver/gumiapi/AccountController.cpp @@ -2,59 +2,519 @@ #include "core/Utils.hpp" #include +// ============================================================================= +// DEV MODE: SKIP TUTORIAL / FULL UNIT SEED +// ----------------------------------------------------------------------------- +// For production / tutorial support, the flow should be: +// 1. Create the user row with starter resources from start_info.json +// (see System::Instance().MstConfig().StartInfo() for those values). +// 2. Do NOT insert any user_units rows here. +// 3. The client will fire a tutorial-gacha / starter-select handler +// (tutorial_gatcha_id from define.json) which calls a dedicated handler +// that inserts the chosen starter unit and triggers the opening cutscene. +// 4. Gate all non-tutorial content behind the client's own mission/flag system. +// +// Until that handler is implemented and the packet structures for all downstream +// handlers are known, we seed every unit immediately so the full client surface +// area is reachable for debugging. Flip DEV_SKIP_TUTORIAL to 0 to restore the +// proper new-account path once tutorial handler research is complete. +// ============================================================================= +#define DEV_SKIP_TUTORIAL 1 + +// ----------------------------------------------------------------------------- +// Full unit roster extracted from the reference gme.sqlite (2547 units). +// When DEV_SKIP_TUTORIAL is disabled, remove this list and let the tutorial +// gacha handler insert only the unit the player selects. +// ----------------------------------------------------------------------------- +#if DEV_SKIP_TUTORIAL +static const std::vector ALL_UNIT_IDS = { + "30030", "50802", "850418_100", "10613", "40714", "60965", "840868", "50015", + "840034", "30927", "51337", "860758_2_100", "830698", "50203", "60774", "50072", + "740237", "820547", "10715", "830767", "840124", "11116", "860818", "810558", + "811116", "10017_2", "760226", "20816", "10204", "50052", "40916", "40073", + "40464", "20544", "51126", "60164", "840848", "20030", "30013", "10575", + "60603", "820146", "860014", "10684", "20095", "20283", "30244", "30804", + "10522", "60115", "10804", "860158", "10605", "20025", "20946", "20275", + "20344", "810148", "30073", "850178", "40826", "820297", "30582", "60257_2", + "30275", "10162", "840258", "40536", "60153", "860357", "840558_100", "20625", + "760006", "60154", "60176", "50403", "40666", "30447", "40062", "30294", + "40537", "830858", "760227", "40587", "840508", "40475", "830818_100", "840968", + "820578", "20976", "10313", "50964", "820588", "60344", "10312", "30464", + "10464", "30533", "860377", "10374", "10716", "850628_2_100", "710227", "860547", + "840003", "820558", "51067", "50955", "10366", "840888", "860378", "30636", + "10113", "20593", "860818_2_100", "850297", "60294", "850148", "10112", "40674", + "50123", "60595", "10215", "820005", "10493", "820288_100", "50855", "20023", + "10946", "50672", "850858", "860015", "51107", "810838", "10736", "20575", + "830828_100", "30213", "50142", "850638", "20453", "20877", "40976", "860158_2", + "10092", "20863", "60213", "840255", "40131", "830388", "20736", "10434", + "840828_2", "10584", "750006", "30163", "40115", "60714", "50082", "50934", + "60017", "30130", "60084", "50022", "30654", "40202", "850900", "810048", + "51106", "820657", "840358", "850568", "40274", "820048_100", "810338_2_100", "810178", + "30255", "60593", "10233", "60494", "60484", "860687", "10677", "21107", + "20083", "60845", "860708", "11077", "20261", "850006", "850928", "860316", + "50202", "30413", "30675", "40986", "20354", "840277", "60097", "60534", + "850507", "50181", "810557", "20014", "840326", "830708_100", "830134", "850317", + "10634", "40102", "50445", "60316", "810588", "20996", "40562", "860978", + "11146", "30997", "50515", "40513", "860166", "40152", "10274", "60314", + "60844", "11096", "840828_100", "860828_2_100", "20654", "10622", "60163", "810798_100", + "50051", "20483", "730342", "60174", "810687", "40576", "811118", "40766", + "20475", "30661", "840608_100", "820567", "850116", "810277", "60071", "60040", + "10124", "20172", "810327", "820158", "50102", "820938", "30203", "820398", + "860758_2", "50936", "60357", "850015", "840867", "11017", "810618_100", "850167", + "50553", "50604", "840808", "40132", "40776", "830978", "10666", "850768", + "850708_100", "30786", "20012", "810265", "860827", "50764", "30866", "840708_100", + "40191", "30212", "830787", "40473", "50801", "830558", "60713", + "830437", "60073", "860518", "860818_2", "50895", "850035", "10514", "860257_2", + "860888", "820148", "60285", "20213", "850277", "60016", "750003", "860647", + "30605", "30125", "60234", "60666_2", "50886", "40857", "820317", "810188", + "750122", "40444", "40767", "30655", "30514", "30876", "40083", "30143", + "50444", "750166", "850437", "61067", "830598_100", "10256", "11016", "40243", + "60094", "20171", "20817", "40595", "31037", "30092", "60103", "40285", + "830678_100", "11166", "860328", "10985", "50253", "860035", "40153", "50287", + "40113", "860727", "40645", "60082", "40167", "20906", "50765", "50024", + "820437", "50143", "830317", "11057", "30694", "60836", "40414", "20181", + "820888_100", "860338", "840507", "50405", "60886", "840798_2_100", "20806", "20245", + "40215", "40987", "40214", "750005", "820288_2_100", "820798", "10164", "50485", + "820004", "40016", "40596", "40545", "60192", "61026", "30754", "850758_100", + "51207", "810758_100", "61217", "40261", "20191", "60584", "60986", + "10796", "40324", "60736", "850998", "51277", "840367", "860315", "50305", + "860757", "830378", "810326", "40345", "50917", "30796", "30021", "20997", + "51147", "10152", "820828", "810428", "10021", "50514", "20073", "820868", + "50263", "820568", "50165", "820758_2_100", "20153", "810918", "30116", "830146", + "20455", "40803", "10011", "40524", "810888", "20141", "10126", "20203", + "60120", "830526", "10127", "20162", "850627", "840788_100", "30816", "40172", + "60114", "840798_100", "10922", "840044", "850558", "10784", "820948_100", "10255", + "20661", "30755", "860105", "830758", "60283", "860167_100", "810708", "860867", + "11167", "850508", "30473", "10917", "820418", "860048_100", "820808_100", "830838", + "50313", "10072", "20645", "60585", "860787", "860255", "840607", "40273", + "61107", "40774", "860146", "50997", "860438", "60655", "60664", "50112", + "850328", "840047", "10142", "10465", "810125", "50153", "30676", "820287", + "60257", "20893", "10557", "840418", "31006", "60113", "10133", "60104", + "810288", "50584", "20566", "861008", "40936", "20071", "810418_100", "810318", + "10041", "51066", "30516", "60785", "810003", "20967", "840568_100", "830297", + "40071", "60063", "40063", "820417", "20564", "40133", "830298", "50612", + "40030", "40515", "51086", "850688", "810518", "830318", "810618", "20142", + "830528_100", "21006", "40253", "20524", "20776", "20614", "60643", "50975", + "840998_100", "850018_2", "40423", "60464", "20156", "810718", "40315", "830788_100", + "40544", "10031", "30583", "820828_2", "60155", "60274", "10017", "30273", + "860637", "30896", "60754", "40355", "810688_100", "850828_100", "20804", "850858_100", + "40574", "40117", "40735", "60032", "10452", "20655", "820828_2_100", "820828_100", + "860788", "50254", "820958", "10354", "31066", "860238", "830788", "30315", + "730287", "830408", "10093", "11066", "30105", "40061", "860427", "30817", + "10695", "860568_100", "10256_2", "10612", "820388", "811038", "830418_100", "60023", + "60175", "40446", "730362", "10104", "30093", "30095", "60895", "20485", + "20094", "50131", "60027", "830135", "30124", "830808_100", "20244", "830798_2", + "20775", "10363", "820718", "20837", "840287", "60536", "830116", "830958_100", + "30032", "30447_2", "810417", "61086", "30017_2", "20704", "20144", "10283", + "10704", "50291", "60822", "40155", "40523", "810278_100", "30674", "40254", + "820315", "20827", "20785", "840176", "840417", "850197", "20052", "860418_100", + "40141", "840118", "810758", "50654", "60476", "820757", "810115", "840557", + "40535", "50766", "850958", "820557", "820147", "830998_100", "60674", "50171", + "850708", "20534", "840828_2_100", "850278_2", "30355", "840768_100", "820628", "860758_100", + "10735", "20294", "820277", "860104", "20636", "10997", "30274", "51336", + "50344", "21036", "30573", "830757", "30284", "10122", "820998", "10516", + "820003", "830004", "840587", "10030", "820758_2", "50317", "820167", "60975", + "20082", "30916", "51112", "10463", "51076", "850568_2_100", "860607", "40213", + "820838", "50682", "850146", "850346", "41037", "60021", "10222", "860578_100", + "10125", "830818_2", "60483", "830858_100", "30494", "30604", "860187", "20163", + "10977", "30704", "10675", "730352", "61056", "20646", "830438_100", "20683", + "40122", "730227", "40021", "60181", "20284", "20956", "30172", "810357", + "40415", "850788", "820204", "20295", "10553", "50465", "860428", "860548", + "30354", "810858_100", "10212", "20756", "850205", "810397", "30081", "10936", + "810186", "61196", "30285", "40775", "860657", "30016", "30082", "51216", + "10864", "830326", "30836", "61073", "40445", "20675", "10722", "810628_100", + "830528", "60974", "30495", "60365", "20554", "50605", "60152", "830118", + "11047", "860678", "20805", "810628_2_100", "20425", "10556", "30253", "20986", + "850637", "830358_100", "820506", "61287", "40165", "860688", "870034", "20092", + "40494", "860003", "30142", "830047", "840808_100", "40166", "30104", "50324", + "850548", "10202", "10595", "30596", "810657", "810338", "50986", "830278", + "61057", "60884", "60794", "860125", "50696", "50786", "30261", "60041", + "60072", "810548", "830505", "50414", "21037", "40236", "830148", "20124", + "50011", "61216", "30014", "20050", "830048_100", "50085", "60583", "31067", + "840178", "61207", "840958_100", "830598_2", "861008_100", "860758", "30706", "840798", + "860808_100", "10865", "820688_100", "840118_100", "50915", "10824", "820958_100", "860518_100", "60177", "60865", "60525", "61097", "60233", "10635", "60625", + "30847", "40052", "30202", "50737", "61007", "40896", "50092", "850688_100", + "850908", "840627", "860828", "30956", "11027", "30932", "860738", "30624", + "10776", "40164", "30627", "40125", "40233", "820998_100", "60635", "40615", + "61137", "30166", "60465", "850034", "810045", "830006", "40072", "820867", + "860356", "810006", "10191", "810124", "850648", "10165", "820568_100", "20583", + "20977", "860005", "51176", "60083", "30113", "60994", "810998_100", "10294", + "40234", "811017", "810858", "10996", "860818_100", "50735", "51167", "810204", + "30567", "810206", "850828_2", "30513", "61037", "730322", "40856", "820168", + "40425", "10261", "10976", "850018_2_100", "60042", "20215", "820558_100", "860257", + "860978_100", "40937", "50116", "710167", "60575", "50996", "40507", "820034", + "10774", "20634", "860256", "10016", "850265", "40024", "10686", "830316", + "20706", "40104", "810808", "830818_2_100", "860148", "60474", "850114", "820044", + "30987", "20061", "810005", "20164", "10795", "60061", "810398", "51007", + "50987", "60334", "820717", "30565", "10014", "810758_2", "60364", "30155", + "820378", "30153", "20705", "40041", "10573", "860357_100", "840257_2", "10253", + "61257", "30171", "840128", "830647", "50885", "50315", "30715", "20626", + "820318", "830287", "810116", "830528_2", "50386", "30222", "850657", "30946", + "810428_100", "51266", "830438", "60945", "40632", "860608", "20243", "840438", + "40886", "60243", "50703", "20555", "20624", "60524", "20324", "30555", + "840798_2", "40514", "30243", "840115", "850018", "40917", "40631", "50164", + "60846", "60095", "40081", "830628", "21046", "20553", "60765", "810318_100", + "10203", "20202", "840117", "20214", "20725", "30145", "40877", "40094", + "820868_100", "20535", "830868", "850288", "30684", "40092", "20955", "820548", + "20154", "20113", "30017", "60286", "20616", "840628_100", "40686", "30204", + "850166", "50483", "20605", "10825", "20617", "50314", "50303", "40575", + "830003", "810587", "50473", "20577", "40313", "820358_100", "860798", "40245", + "40906", "60645", "50113", "40162", "840438_100", "860177", "60665", "730287_100", + "10155", "50172", "10755", "40745", "860688_2_100", "30254", "50286", "10636", + "760006_100", "840204", "810356", "60473", "30393", "20714", "50166_2", "11117", + "50544", "860788_100", "850158", "30933", "750317", "860128", "851018_100", "40586", + "20947", "10805", "60445", "40816", "40154", "810838_100", "10916", "20293", + "40646", "830117", "60916", "61136", "40212", "820898", "860237", "820508", + "840547", "20926", "50673", "30063", "50292", "20125", "30083", "810998", + "810617", "30446", "40463", "40124", "60275", "60475", "860728", "60915", + "40614", "10847", "40255", "50656", "11036", "40032", "40786", "10334", + "20011", "840628_2_100", "840135", "840114", "20204", "50464", "50223", "50757", + "20784", "860658_100", "50132", "50013", "840768", "40665", "50285", "50484", + "60253", "40802", "51367", "830558_2_100", "40744", "820397", "811028_100", "830048", + "30122", "50255", "40293", "50071", "20017_2", "20844", "820206", "860577", + "40316", "40353", "830958", "60142", "860127", "40676", "40143", "730227_100", + "40493", "840156", "720167", "840258_100", "810108", "60105", "30846", "30233", + "30877", "830178", "20015", "50894", "850014", "50265", "840688_100", "50061", + "30775", "60954", "10132", "830045", "50475", "60683", "60117", "840006", + "840288", "61006", "850788_100", "10032", "30967", "20334", "30616", "10105", + "820125", "820758_100", "50864", "840508_2", "11046", "10286", "20615", "40625", + "820114", "50394", "60544", "850658_100", "51127", "30164", "840257", "40604", + "51014", "850977", "21087", "810325", "810758_2_100", "840256", "30313", "60062", + "30594", "10042", "830387", "40095", "40684", "60245", "830758_2_100", "20286", + "850888", "830328_2", "61286", "850557", "830527", "840708", "50756", "850298", + "720167_100", "11087", "30606", "830888_100", "830798_2_100", "20525", "20236", "840608", + "60024", "11097", "51006", "810547", "60317", "50775", "860288", "860628", + "850347", "50256", "20442", "41017", "830758_100", "60705", "30554", "810135", + "30634", "20105", "10050", "840368", "820278_100", "830598", "50745", "850318", + "10214", "50354", "20143", "20032", "810106", "850206", "830118_100", "850568_2", + "30986", "61066", "830628_100", "50304", "830504", "40223", "810708_100", "10783", + "50323", "10243", "831018_100", "40123", "820668", "10245", "50167", "50094", + "61027", "830688", "50104", "21086", "40023", "820658_100", "60116_2", "30823", + "20966", "50316", "50025", "50166", "60604", "850135", "20495", "30646", + "810908", "850918", "850978", "860568", "50835", "840048_100", "20774", "20695", + "10013", "830698_100", "810808_100", "50664", "840206", "20274", "10495", "60134", + "60121", "850165", "20253", "30546", "10083", "820948", "30394", "60835", + "20484", "840146", "860278_100", "40755", "820658", "60795", "30463", "30837", + "830978_100", "10685", "60201", "820827", "860558_100", "30735", "840878_100", "40817", + "10505", "20726", "10754", "10756", "60085", "810900", "811008_100", + "860167", "10435", "20644", "30071", "820507", "820848_100", "20234", "30165", + "820047", "30234", "20454", "20254", "30154", "40624", "860708_100", "30662", + "51137", "30734", "30645", "50976", "860178", "30295", "810287", "40334", + "840658_100", "10284", "30415", "60050", "20114", "30696", "20042", "10154", + "20724", "830115", "30595", "860288_2", "10235", "851018", "50866", "810958", + "810828_2_100", "10073", "60874", "20473", "20122", "40496", "850568_100", "60172", + "820568_2_100", "810767", "60776", "50643", "850998_100", "860017", "50106", "860134", + "60566", "10444", "840116", "850004", "60017_2", "61097_2", "850176", "860658", + "50477", "40142", "30346", "50816", "810316", "60786", "840155", "60293", + "20423", "20755", "810035", "40017", "10012", "810266", "50966", "40130", + "50191", "60735", "20576", "20016", "820357", "830288", "810518_100", "60894", + "810507", "850958_100", "60011", "60325", "810205", "830516", "10071", "840004", + "840125", "860108", "830588", "10594", "50264", "20024", "20355", "850788_2_100", + "11037", "11067", "30957", "61072", "20133", "60644", "20031", "30023", + "50585", "20363", "50095", "20062", "840128_100", "30705", "10734", "30050", + "10904", "30131", "40244", "51276", "51327", "60012", "850908_100", "820278", + "820438", "830034", "841028", "20826", "30181", "30424", "830648", "830528_2_100", + "60523", "20276", "810034", "61126", "30695", "830828", "40031", "50154", + "50896", "60224", "830818", "50944", "40867", "40716", "820135", "810147", + "810148_100", "820898_100", "60775", "50635", "840418_100", "30324", "20574", "50563", + "20662", "50503", "820668_100", "810528", "10555", "60363", "50012", "30787", + "20592", "30314", "30475", "20754", "20327", "50834", "61256", "830125", + "840758_2_100", "50105", "810928_100", "50325", "10145", "830325", "30094", "10445", + "850398", "850767", "850266", "40977", "20674", "40284", "30685", "60676", + "860578", "60682", "10062", "51227", "10606", "810837", "50273", "60936", + "840758", "820115", "30614", "40040", "850788_2", "10254", "840317", "10115", + "60254", "60976", "51113", "820837", "840398", "820578_100", "10295", "20836", + "820212", "830708", "850005", "10644", "830187", "810427", "30115", "10596", + "850025", "40465", "840205", "820298", "30132", "820808", "10676", "40503", + "50836", "51075", "41016", "40413", "60463", "10623", "830657", "10023", + "860287", "20987", "10806", "20734", "810827", "820748", "50705", "20217", + "51046", "40694", "30144", "30011", "51037", "51256", "10141", "40314", + "40222", "51257", "50935", "810278", "860107", "850017", "10344", "30123", + "10302", "60255", "20876", "50234", "51186", "60834", "40734", "10504", + "30765", "10063", "50463", "830697", "40051", "20892", "30345", "20537", + "10273", "50415", "730302", "850808_100", "20916", "40616", "50162", "40552", + "840657", "30756", "30445", "850828", "60526", "51267", "50016", "40235", + "10336", "860258", "810278_2", "850148_100", "860968", "50513", "850157", "30042", + "50706", "840357", "20533", "40443", "60143", "810628", "860156", "850315", + "40050", "51036", "10604", "850278_2_100", "810176", "10244", "850417", "850357", + "841028_100", "50525", "830798", "860437", "810337", "840958", "860868", "820288", + "30102", "40525", "840327", "30214", "850438_100", "820035", "810048_100", "61017", + "30566", "850798_100", "810898", "40876", "10236", "840147", "30764", "810778", + "840315", "10665", "20115", "740247", "830327", "10022", "50114", "60273", + "830598_2_100", "830758_2", "830418", "20713", "810177", "860688_100", "30607", "810105", + "10285", "60165", "10885", "10696", "40203", "50854", "60527", "840588", + "840758_2", "10466", "750317_100", "11056", "830808", "10503", "50704", "60102", + "30774", "10024", "30414", "30133", "60985", "60052", "810517", "820628_100", + "61046", "810146", "40506", "40103", "51047", "860277", "10765", "10094", + "10171", "30503", "20684", "20915", "60656", "810378", "820134", "60623", + "60984", "51193", "810315", "21007", "860124", "10544", "850358_100", "50115", + "50383", "20604", "10545", "61096", "10884", "61146", "50120", "10131", + "30907", "60122", "850758", "40013", "840005", "20104", "20513", "10947", + "830587", "10116", "30316", "60594", "30822", "60355", "860417", "840045", + "20927", "10213", "60767", "850278", "820006", "10257_2", "40505", "720237", + "40534", "30544", "10674", "40866", "830538", "20157_2", "850388", "40424", + "810828_2", "20112", "830688_100", "850003", "20565", "830005", "10275", "60766", + "10114", "30626", "10875", "20273", "820048", "860258_2", "50274", "20235", + "60812", "750167_100", "840278", "10223", "830315", "20126", "40343", "40675", + "20285", "40787", "30112", "831018", "811028", "50276", "820316", "10721", + "60956", "40012", "10130", "60666", "850808", "20131", "20051", "850367", + "10846", "20435", "850368", "811038_100", "10743", "20364", "840278_2_100", "810437", + "20255", "10095", "840577", "810357_100", "810627", "40112", "810047", "20155", + "820577", "20040", "50032", "811008", "30615", "20356", "30182", "860557", + "40294", "60755", "10234", "30505", "50145", "830124", "50945", "20676", + "60123", "10082", "40474", "50695", "60022", "40275", "50063", "810508", + "40105", "20013", "50814", "60093", "61047", "850567", "860147", "10333", + "50041", "30114", "60324", "860018_2", "840748_100", "18830", "850418", "40946", + "850377", "860018", "30515", "50694", "50746", "30714", "20041", "820568_2", + "840688", "840767", "850727", "830918", "20365", "10335", "850547", "60151", + "30031", "850628_100", "840868_100", "860018_2_100", "60030", "30625", "10515", "850196", + "810438_100", "840788", "850378", "840134", "860968_100", "830798_100", "30245", "10574", + "30012", "860106", "21056", "50603", "30215", "860638", "20302", "40685", + "860186", "61087", "51192", "20606", "10364", "60133", "30996", "10794", + "820358", "860135", "830678", "20157", "40346", "710217", "50031", "830558_100", + "40354", "820387", "820838_100", "50645", "50040", "50583", "30966", "810187", + "830147", "860798_2", "50042", "810888_100", "40276", "60326", "40504", "30534", + "30535", "60354", "30736", "830867", "41036", "840748", "60173", + "40907", "810317", "830044", "60261", "860047", "60624", "840397", "850828_2_100", + "40432", "40607", "40897", "60051", "850768_100", "20886", "20887", "50060", + "860998", "30897", "50083", "20326", "60704", "20474", "810438", "21106", + "60634", "60667", "50565", "30776", "820687", "830768", "40577", "40082", + "50030", "840127", "50243", "811016", "10494", "60262", "860688_2", "850438", + "820045", "820848", "860888_100", "840568", "860828_100", "810212", "20353", "50224", + "810658", "40927", "840358_100", "850397", "30041", "730332", "10554", "20325", + "30504", "30061", "810338_100", "60876", "820288_2", "830035", "50163", + "10061", "850387", "850154", "60533", "840628", "840878", "40283", "10103", + "20102", "30293", "850125", "40553", "61157", "50734", "750004", "30564", + "860048", "60543", "30040", "10826", "810658_100", "20857", "50050", "820900", + "10757", "850124", "820504", "840848_100", "20567", "860368", "850134", "30167", + "30283", "810338_2", "850155", "10607", "20424", "30236", "50144", "61016", + "30432", "20696", "50914", "820688", "20223", "30015", "50141", "31007", + "20021", "820505", "50564", "50683", "820747", "30152", "51027", "50792", + "40546", "860165", "40042", "60295", "820758", "10040", "30276", "50504", + "51217", "20582", "860958_100", "40495", "20735", "30062", "50744", "50754", + "50657", "50534", "60435", "840900", "810525", "40827", "60806", "10262", + "840377", "30024", "840567", "850048", "30343", "810828", "850358", "840968_100", + "40295", "30444", "20637", "20145", "850798", "20152", "50736", "51246", + "60955", "810828_100", "820677", "840828", "810958_100", "60693", "40262", "860258_2_100", + "850647", "850928_100", "850588", "30191", "40696", "30474", "30423", "850757", + "830597", "820205", "30223", "810508_2", "20123", "60675", "50916", "61197", + "50084", "30926", "50385", "850988_100", "30556", "50182", "810278_2_100", "50876", + "20677", "60497", "10257", "850628_2", "40181", "850147", "40563", "810104", + "60914", "810688", "40947", "810908_100", "820888", "20635", "30543", "860828_2", + "20907", "830377", "10172", "850316", "850988", "820587", "10705", "10052", + "40794", "10764", "10543", "50093", "40163", "840278_2", "61147", "10293", + "50755", "60144", "20862", "850558_100", "10583", "840278_100", "10646", "40344", + "60692", "810928", "820176", "830357", "810418", "730312", "10585", "21047", + "840827", "20366", "40015", "850658", "10102", "20017", "60212", "60633", + "51247", "51326", "820124", "30686", "50474", "50633", "10123", "20081", + "840378", "830868_100", "20262", "50774", "20694", "30162", "60764", "30917", + "50666", "10744", "20212", "850013", "60284", "40144", "710168", "860278", + "10375", "40145", "850048_100", "20856", "850177", "50017_2", "30545", "740247_100", + "60096", "830658", "850156", "40887", "50103", "61036", "860108_100", "40014", + "10923", "50634", "60015", "840758_100", "10081", "850888_100", "850728", "720157", + "60425", "10373", "840548", "820518", "10866", "820938_100", "10443", "60885", + "40017_2", "830525", "50133", "10717", "40025", "30572", "30103", "60112", + "60356", "850198", "30072", "50505", "60031", "60191", "840628_2", "50884", + "830537", "60821", "50865", "840048", "51317", "720237_100", "840578", "20434", + "20543", "20063", "830900", "20515", "50122", "840035", "860517", "21057", + "40664", "10937", "50014", "60565", "10433", "20545", "860367", "10025", + "730257", "860648", "860258_100", "60313", "860798_100", "60315", "50406", "60116", + "40715", "820678", "810004", "860868_100", "30262", "810757", "20796", "820418_100", + "20222", "10896", "10664", "860034", "830417", "50021", "50155", "860018_100", + "10785", "850018_100", "50665", "60875", "830518_2", "20514", "830557", "60864", + "860958", "20165", "840558", "10986", "40204", "50017", "810114", "810377", + "840325", "51187", "50073", "830278_100", "830827", "740157", "850167_100", "860013", + "810107", "830558_2", "860998_100", "820157", "10775", "860006", "30353", + "10163", "20323", "830277", "840998", "50204", "810408", "840757", "850278_100", + "30334", "50845", "850328_2", "60132", "850628", "20433", "830658_100", "30344", + "850204", "50404", "850115", "40117_2", "30465", "30867", "810558_100", "810798", + "20093", "10182", "40695", "20182", "30141", "60896", "30566_2", "750167", + "40605", "50384", "10144", "20233", "830518", "50644", "40585", "60535", + "40594", "60946", "860808", "830188", "10015", "50242", "30443", "20715", + "840177", "20130", "810768", "50134", "30052", "60014", "50023", "840318", + "10051", "830328", "60576", "40746", "820116", "11147", "51136", "30051", + "61167", "60162", "810898_100", "40644", "820177", "10143", "51166", "820438_100", + "20797", "40584", "31036", "810134", "830998", "830888", "50655", "840437", + "820377", "60756", "60353", "60495", "840316", "50364", "50413", "860004", + "30716", "820748_100", "20072", "40171", "60244", "820178", "840658", "860318", + "10153", "40182", "860317", "51087", "840148", "40093", "60737", "860900", + "10855", "60964", "30425", "60706", "820678_100", "60092", "50965", "810526", + "840888_100", "50152", "20132", "40022", "60734", "30517", "30947", "860558", + "860148_100", "60013", "20103", "50815", "60025", "810628_2", "830288_2", "860418", + "830358", "30635", "850827", "50275", "30797", "10647", "860838", "60182", + "830177", "10737", "40606", "10181", "820798_100", "40114", "10897", "50844", + "61125", "30493", "60493", "810044", "850047", "30025", "810527", "40011", + "20494", "51026", "10886", "30235", "850287", "10365", "30022", "10645", + "50121", "20022", "860798_2_100", + // These 7 IDs were previously filtered out as "invalid" but the reference + // working DB contains all of them. They are safe — do not remove them again. + "9850167", "100884", "200212", "300021", "400023", "500242", "600092", +}; +#endif // DEV_SKIP_TUTORIAL + +// ----------------------------------------------------------------------------- +// Helper: fire-and-forget insert of all units for a new user. +// Called only when DEV_SKIP_TUTORIAL is enabled. +// +// TODO (tutorial): Remove this function (or gate it behind an admin/dev flag) +// once the tutorial-gacha handler is implemented. The proper path is for the +// client to call that handler after the opening cutscene, which should insert +// only the chosen starter unit and then redirect the client into normal play. +// ----------------------------------------------------------------------------- +#if DEV_SKIP_TUTORIAL +// Seed all units for a new user using a single INSERT with a recursive CTE +// so the entire operation is one async call — no loop, no sync calls, no deadlock. +// The callback fires when the insert is complete; on error it logs and still +// sends the login response (units can be re-seeded by DevValidateAndSeedUnits +// at next server start). +static void SeedAllUnitsForUser( + const std::string& userId, + std::function onDone, + std::function onError) +{ + // Build a single INSERT using a VALUES list. SQLite handles this fine + // and it avoids the overhead and deadlock risk of 2540 individual statements. + // "INSERT OR IGNORE" is safe if the user already has some units. + std::string sql = + "INSERT OR IGNORE INTO user_units (user_id, unit_id) VALUES "; + + for (size_t i = 0; i < ALL_UNIT_IDS.size(); ++i) + { + sql += "('" + userId + "', '" + ALL_UNIT_IDS[i] + "')"; + if (i + 1 < ALL_UNIT_IDS.size()) sql += ","; + } + sql += ";"; + + GME_DB->execSqlAsync( + sql, + [userId, onDone](const drogon::orm::Result&) + { + LOG_INFO << "AccountController: seeded " << ALL_UNIT_IDS.size() + << " units for user " << userId << " [DEV_SKIP_TUTORIAL]"; + onDone(); + }, + [userId, onError](const drogon::orm::DrogonDbException& e) + { + LOG_ERROR << "AccountController: unit seed failed for user " + << userId << ": " << e.base().what(); + onError(); + } + ); +} +#endif // DEV_SKIP_TUTORIAL + void AccountController::HandleGuest(const HttpRequestPtr& rq, std::function&& callback) { Utils::DumpInfoToDrogon(rq, "AccountController"); - // Extract parameters auto params = rq->getParameters(); - std::string userId = params["ak"].empty() ? "default_user_id" : params["ak"]; // Use 'ak' as userId (e.g., 0101AABB or 0839899613932562) + + // The client sends its device-generated ID as 'ak'. We use it directly as + // the user primary key so every device gets its own row without any server- + // side ID generation. Uniqueness is not a concern for offline play. + std::string userId = params["ak"].empty() ? "default_user_id" : params["ak"]; std::string deviceId = params["device_id"].empty() ? "unknown_device" : params["device_id"]; - // Check if user exists in users table GME_DB->execSqlAsync( "SELECT id FROM users WHERE id = $1", - [this, userId, deviceId, callback](const drogon::orm::Result& result) { - if (result.empty()) { - // New user: Insert into users and userinfo - GME_DB->execSqlAsync( - "INSERT INTO users (id, account_id, username, admin) VALUES ($1, $2, $3, $4)", - [](const drogon::orm::Result& result) { - LOG_INFO << "AccountController: Inserted new user"; - }, - [](const drogon::orm::DrogonDbException& e) { - LOG_ERROR << "AccountController: Failed to insert new user: " << e.base().what(); - }, - userId, deviceId, "GuestUser", 0 - ); - - GME_DB->execSqlAsync( - "INSERT INTO userinfo (id, level, exp, max_unit_count, max_friend_count, zel, karma, brave_coin, max_warehouse_count, want_gift, free_gems, paid_gems, active_deck, summon_tickets, rainbow_coins, colosseum_tickets, active_arena_deck, total_brave_points, avail_brave_points, energy) " - "VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20)", - [](const drogon::orm::Result& result) { - LOG_INFO << "AccountController: Inserted default userinfo for new user"; - }, - [](const drogon::orm::DrogonDbException& e) { - LOG_ERROR << "AccountController: Failed to insert default userinfo: " << e.base().what(); - }, - userId, 1, 0, 2292, 50, 1000, 0, 0, 2292, "", 100, 0, 0, 0, 0, 0, 0, 0, 0, 15 - ); - } + [this, userId, deviceId, callback](const drogon::orm::Result& result) + { + if (result.empty()) + { + // --------------------------------------------------------------- + // NEW USER PATH + // All inserts are chained sequentially: users -> userinfo -> units. + // Each step fires only after the previous one completes successfully. + // The login response is sent at the end of the chain so the client + // never proceeds before the DB is fully populated. + // --------------------------------------------------------------- + GME_DB->execSqlAsync( + "INSERT INTO users (id, account_id, username, admin) VALUES ($1, $2, $3, $4)", + [userId, deviceId, callback](const drogon::orm::Result&) + { + LOG_INFO << "AccountController: inserted new user row"; + + GME_DB->execSqlAsync( + "INSERT INTO userinfo " + "(id, level, exp, max_unit_count, max_friend_count, zel, karma, " + " brave_coin, max_warehouse_count, want_gift, free_gems, paid_gems, " + " active_deck, summon_tickets, rainbow_coins, colosseum_tickets, " + " active_arena_deck, total_brave_points, avail_brave_points, energy) " + "VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20)", + [userId, callback](const drogon::orm::Result&) + { + LOG_INFO << "AccountController: inserted default userinfo"; + + // Send the login response NOW — users and userinfo rows + // both exist, so InitializeRequest2 and GetUserInfo can + // proceed correctly. The unit seed runs after the response + // is sent because GetUserInfo fires ~2 seconds later, + // giving the bulk INSERT plenty of time to complete. + Json::Value v; + v["status"] = "successful"; + v["token"] = "test_token"; + v["game_user_id"] = userId; + v["status_no"] = "0"; + callback(HttpResponse::newHttpJsonResponse(v)); + +#if DEV_SKIP_TUTORIAL + // Fire unit seed after response — no callback needed. + // DevValidateAndSeedUnits at startup will catch any + // units that failed to insert if the seed is interrupted. + SeedAllUnitsForUser(userId, []() { + LOG_INFO << "AccountController: unit seed complete"; + }, []() { + LOG_WARN << "AccountController: unit seed failed - " + << "DevValidateAndSeedUnits will retry on next start"; + }); +#endif + }, + [callback](const drogon::orm::DrogonDbException& e) + { + LOG_ERROR << "AccountController: failed to insert userinfo: " << e.base().what(); + auto resp = HttpResponse::newHttpResponse(); + resp->setStatusCode(k500InternalServerError); + callback(resp); + }, + // id lv exp max_units max_friends zel karma + userId, 999, 0, 4000, 50, 99000000LL, 99000000LL, + // brave_coin max_wh want_gift free_gems paid_gems + 4200, 5500, "", 10000, 20000, + // active_deck summon_tix rainbow_coins colosseum_tix + // colosseum_tickets must be 0 -- crashes client when non-zero + // before the colosseum feature is unlocked. + 0, 99, 0, 0, + // active_arena_deck total_bp avail_bp energy + 0, 0, 0, 431 + ); + }, + [callback](const drogon::orm::DrogonDbException& e) + { + LOG_ERROR << "AccountController: failed to insert user row: " << e.base().what(); + auto resp = HttpResponse::newHttpResponse(); + resp->setStatusCode(k500InternalServerError); + callback(resp); + }, + userId, deviceId, "GuestUser", 0 + ); + return; // Response sent inside the chain above. + } - // Return login response - Json::Value v; - v["status"] = "successful"; - v["token"] = "test_token"; // TODO: Generate a proper token - v["game_user_id"] = userId; // Use the same userId as in the database - v["status_no"] = "0"; - callback(HttpResponse::newHttpJsonResponse(v)); - }, - [callback](const drogon::orm::DrogonDbException& e) { - LOG_ERROR << "AccountController: Database error during login: " << e.base().what(); - auto resp = HttpResponse::newHttpResponse(); - resp->setStatusCode(k500InternalServerError); - callback(resp); - }, + // Existing user — send login response immediately. + Json::Value v; + v["status"] = "successful"; + v["token"] = "test_token"; + v["game_user_id"] = userId; + v["status_no"] = "0"; + callback(HttpResponse::newHttpJsonResponse(v)); + }, + [callback](const drogon::orm::DrogonDbException& e) + { + LOG_ERROR << "AccountController: DB error during login check: " << e.base().what(); + auto resp = HttpResponse::newHttpResponse(); + resp->setStatusCode(k500InternalServerError); + callback(resp); + }, userId ); } \ No newline at end of file diff --git a/gimuserver/system/DailyTaksConfig.cpp b/gimuserver/system/DailyTaskConfig.cpp similarity index 100% rename from gimuserver/system/DailyTaksConfig.cpp rename to gimuserver/system/DailyTaskConfig.cpp diff --git a/standalone_frontend/main.cpp b/standalone_frontend/main.cpp index 05f1c3e..1625de1 100644 --- a/standalone_frontend/main.cpp +++ b/standalone_frontend/main.cpp @@ -20,11 +20,22 @@ int main(int argc, char** argv) drogon::app() .loadConfigFile("./config.json") .createDbClient("sqlite3", "", 0, "", "", "", 1, System::Instance().GetDbPath(), "gme", false, "utf-8") - .registerBeginningAdvice([]() { - System::Instance().RunMigrations(drogon::app().getDbClient("gme")); - }) - .run() - ; + .registerBeginningAdvice([]() + { + auto db = drogon::app().getDbClient("gme"); + + // 1. Create all tables and run any pending migrations. + System::Instance().RunMigrations(db); + + // 2. DEV: top up any users whose unit roster is below the full + // seed count. No-op when DEV_SKIP_TUTORIAL=0. + System::Instance().DevValidateAndSeedUnits(db); + + // 3. Resolve and cache the real user ID so GmeController can + // route all incoming requests without a per-request DB lookup. + System::Instance().ResolveActiveUser(db); + }) + .run(); } catch (const std::exception& ex) { @@ -32,4 +43,4 @@ int main(int argc, char** argv) } return 0; -} +} \ No newline at end of file