40 lines
1.4 KiB
C++
40 lines
1.4 KiB
C++
#pragma once
|
|
|
|
#include <drogon/HttpController.h>
|
|
|
|
class AuthController : public drogon::HttpController<AuthController>
|
|
{
|
|
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<void(const drogon::HttpResponsePtr &)> &&callback);
|
|
void requestOtp(
|
|
const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&callback);
|
|
void verifyOtp(
|
|
const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&callback);
|
|
void loginWithPassword(
|
|
const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&callback);
|
|
void me(const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&callback);
|
|
};
|
|
|