65 lines
2.6 KiB
C++
65 lines
2.6 KiB
C++
#pragma once
|
|
|
|
#include <drogon/HttpController.h>
|
|
|
|
class AdminController : public drogon::HttpController<AdminController>
|
|
{
|
|
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::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<void(const drogon::HttpResponsePtr &)> &&callback);
|
|
void createCategory(
|
|
const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&callback);
|
|
void listAreas(
|
|
const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&callback);
|
|
void createArea(
|
|
const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&callback);
|
|
void listTeams(
|
|
const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&callback);
|
|
void createTeam(
|
|
const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&callback);
|
|
void overviewStats(
|
|
const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&callback);
|
|
void listUsers(
|
|
const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&callback);
|
|
void updateUserRoles(
|
|
const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&callback,
|
|
long long userId);
|
|
void updateUserBan(
|
|
const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&callback,
|
|
long long userId);
|
|
};
|
|
|