#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); 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); };