#pragma once #include class AuthController : public drogon::HttpController { public: METHOD_LIST_BEGIN ADD_METHOD_TO(AuthController::registerCitizen, "/api/v1/auth/register", drogon::Post); ADD_METHOD_TO(AuthController::requestOtp, "/api/v1/auth/otp/request", drogon::Post); ADD_METHOD_TO(AuthController::verifyOtp, "/api/v1/auth/otp/verify", drogon::Post); ADD_METHOD_TO(AuthController::loginWithPassword, "/api/v1/auth/login/password", drogon::Post); ADD_METHOD_TO(AuthController::me, "/api/v1/me", drogon::Get); METHOD_LIST_END void registerCitizen( const drogon::HttpRequestPtr &req, std::function &&callback); void requestOtp( const drogon::HttpRequestPtr &req, std::function &&callback); void verifyOtp( const drogon::HttpRequestPtr &req, std::function &&callback); void loginWithPassword( const drogon::HttpRequestPtr &req, std::function &&callback); void me(const drogon::HttpRequestPtr &req, std::function &&callback); };