71 lines
2.9 KiB
C++
71 lines
2.9 KiB
C++
#pragma once
|
|
|
|
#include <drogon/HttpController.h>
|
|
|
|
class ReportController : public drogon::HttpController<ReportController>
|
|
{
|
|
public:
|
|
METHOD_LIST_BEGIN
|
|
ADD_METHOD_TO(ReportController::create, "/api/v1/reports", drogon::Post);
|
|
ADD_METHOD_TO(ReportController::list, "/api/v1/reports", drogon::Get);
|
|
ADD_METHOD_TO(ReportController::detail, "/api/v1/reports/{1}", drogon::Get);
|
|
ADD_METHOD_TO(ReportController::updateStatus,
|
|
"/api/v1/reports/{1}/status",
|
|
drogon::Patch);
|
|
ADD_METHOD_TO(ReportController::takeReport,
|
|
"/api/v1/reports/{1}/take",
|
|
drogon::Post);
|
|
ADD_METHOD_TO(ReportController::addMessage,
|
|
"/api/v1/reports/{1}/messages",
|
|
drogon::Post);
|
|
ADD_METHOD_TO(ReportController::listMessages,
|
|
"/api/v1/reports/{1}/messages",
|
|
drogon::Get);
|
|
ADD_METHOD_TO(ReportController::assignTeam,
|
|
"/api/v1/reports/{1}/assignments",
|
|
drogon::Post);
|
|
ADD_METHOD_TO(ReportController::addFeedback,
|
|
"/api/v1/reports/{1}/feedback",
|
|
drogon::Post);
|
|
ADD_METHOD_TO(ReportController::uploadPhotos,
|
|
"/api/v1/reports/{1}/photos",
|
|
drogon::Post);
|
|
METHOD_LIST_END
|
|
|
|
void create(const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&callback);
|
|
void list(const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&callback);
|
|
void detail(const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&callback,
|
|
long long reportId);
|
|
void updateStatus(
|
|
const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&callback,
|
|
long long reportId);
|
|
void takeReport(
|
|
const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&callback,
|
|
long long reportId);
|
|
void addMessage(
|
|
const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&callback,
|
|
long long reportId);
|
|
void listMessages(
|
|
const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&callback,
|
|
long long reportId);
|
|
void assignTeam(
|
|
const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&callback,
|
|
long long reportId);
|
|
void addFeedback(
|
|
const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&callback,
|
|
long long reportId);
|
|
void uploadPhotos(
|
|
const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&callback,
|
|
long long reportId);
|
|
};
|