#pragma once #include class AdminController : public drogon::HttpController { public: METHOD_LIST_BEGIN ADD_METHOD_TO(AdminController::listCategories, "/api/v1/admin/categories", drogon::Get); ADD_METHOD_TO(AdminController::createCategory, "/api/v1/admin/categories", drogon::Post); ADD_METHOD_TO(AdminController::listAreas, "/api/v1/admin/areas", drogon::Get); ADD_METHOD_TO(AdminController::createArea, "/api/v1/admin/areas", drogon::Post); ADD_METHOD_TO(AdminController::listTeams, "/api/v1/admin/teams", drogon::Get); ADD_METHOD_TO(AdminController::createTeam, "/api/v1/admin/teams", drogon::Post); 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 listCategories( const drogon::HttpRequestPtr &req, std::function &&callback); void createCategory( const drogon::HttpRequestPtr &req, std::function &&callback); void listAreas( const drogon::HttpRequestPtr &req, std::function &&callback); void createArea( const drogon::HttpRequestPtr &req, std::function &&callback); void listTeams( const drogon::HttpRequestPtr &req, std::function &&callback); void createTeam( const drogon::HttpRequestPtr &req, std::function &&callback); 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); };