84 lines
3.4 KiB
C++
84 lines
3.4 KiB
C++
#pragma once
|
|
|
|
#include <drogon/HttpController.h>
|
|
|
|
class AdminController : public drogon::HttpController<AdminController>
|
|
{
|
|
public:
|
|
METHOD_LIST_BEGIN
|
|
ADD_METHOD_TO(AdminController::createCategory,
|
|
"/api/v1/admin/categories",
|
|
drogon::Post);
|
|
ADD_METHOD_TO(AdminController::createArea, "/api/v1/admin/areas", drogon::Post);
|
|
ADD_METHOD_TO(AdminController::createTeam, "/api/v1/admin/teams", drogon::Post);
|
|
ADD_METHOD_TO(AdminController::updateCategory,
|
|
"/api/v1/admin/categories/{1}",
|
|
drogon::Patch);
|
|
ADD_METHOD_TO(AdminController::updateArea,
|
|
"/api/v1/admin/areas/{1}",
|
|
drogon::Patch);
|
|
ADD_METHOD_TO(AdminController::updateTeam,
|
|
"/api/v1/admin/teams/{1}",
|
|
drogon::Patch);
|
|
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 createCategory(
|
|
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 createTeam(
|
|
const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&callback);
|
|
void updateCategory(
|
|
const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&callback,
|
|
long long categoryId);
|
|
void updateArea(
|
|
const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&callback,
|
|
long long areaId);
|
|
void updateTeam(
|
|
const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&callback,
|
|
long long teamId);
|
|
void overviewStats(
|
|
const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&callback);
|
|
void listModeration(
|
|
const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&callback);
|
|
void updateModeration(
|
|
const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&callback,
|
|
long long flagId);
|
|
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);
|
|
};
|