#pragma once #include class AdminController : public drogon::HttpController { public: METHOD_LIST_BEGIN ADD_METHOD_TO(AdminController::createCategory, "/api/v1/admin/categories", drogon::Post); ADD_METHOD_TO(AdminController::createArea, "/api/v1/admin/areas", drogon::Post); ADD_METHOD_TO(AdminController::createTeam, "/api/v1/admin/teams", drogon::Post); ADD_METHOD_TO(AdminController::updateCategory, "/api/v1/admin/categories/{1}", drogon::Patch); ADD_METHOD_TO(AdminController::updateArea, "/api/v1/admin/areas/{1}", drogon::Patch); ADD_METHOD_TO(AdminController::updateTeam, "/api/v1/admin/teams/{1}", drogon::Patch); ADD_METHOD_TO(AdminController::overviewStats, "/api/v1/admin/stats/overview", drogon::Get); ADD_METHOD_TO(AdminController::listModeration, "/api/v1/admin/moderation", drogon::Get); ADD_METHOD_TO(AdminController::updateModeration, "/api/v1/admin/moderation/{1}", drogon::Patch); ADD_METHOD_TO(AdminController::listUsers, "/api/v1/admin/users", drogon::Get); ADD_METHOD_TO(AdminController::updateUserRoles, "/api/v1/admin/users/{1}/roles", drogon::Patch); ADD_METHOD_TO(AdminController::updateUserBan, "/api/v1/admin/users/{1}/ban", drogon::Patch); METHOD_LIST_END void createCategory( const drogon::HttpRequestPtr &req, std::function &&callback); void createArea( const drogon::HttpRequestPtr &req, std::function &&callback); void createTeam( const drogon::HttpRequestPtr &req, std::function &&callback); void updateCategory( const drogon::HttpRequestPtr &req, std::function &&callback, long long categoryId); void updateArea( const drogon::HttpRequestPtr &req, std::function &&callback, long long areaId); void updateTeam( const drogon::HttpRequestPtr &req, std::function &&callback, long long teamId); void overviewStats( const drogon::HttpRequestPtr &req, std::function &&callback); void listModeration( const drogon::HttpRequestPtr &req, std::function &&callback); void updateModeration( const drogon::HttpRequestPtr &req, std::function &&callback, long long flagId); void listUsers( const drogon::HttpRequestPtr &req, std::function &&callback); void updateUserRoles( const drogon::HttpRequestPtr &req, std::function &&callback, long long userId); void updateUserBan( const drogon::HttpRequestPtr &req, std::function &&callback, long long userId); };