Complete backend MVP
This commit is contained in:
@@ -129,6 +129,54 @@ void ReportController::list(
|
||||
std::move(callback));
|
||||
}
|
||||
|
||||
void ReportController::assignedReports(
|
||||
const drogon::HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
{
|
||||
return;
|
||||
}
|
||||
visione::services::ReportService service;
|
||||
sendService(service.assignedReports(*user,
|
||||
queryValue(req, "page"),
|
||||
queryValue(req, "per_page")),
|
||||
std::move(callback));
|
||||
}
|
||||
|
||||
void ReportController::openReports(
|
||||
const drogon::HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
{
|
||||
return;
|
||||
}
|
||||
visione::services::ReportService service;
|
||||
sendService(service.openReports(*user,
|
||||
queryValue(req, "page"),
|
||||
queryValue(req, "per_page")),
|
||||
std::move(callback));
|
||||
}
|
||||
|
||||
void ReportController::otherOperatorReports(
|
||||
const drogon::HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
{
|
||||
return;
|
||||
}
|
||||
visione::services::ReportService service;
|
||||
sendService(service.otherOperatorReports(*user,
|
||||
queryValue(req, "page"),
|
||||
queryValue(req, "per_page")),
|
||||
std::move(callback));
|
||||
}
|
||||
|
||||
void ReportController::detail(
|
||||
const drogon::HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback,
|
||||
@@ -143,6 +191,20 @@ void ReportController::detail(
|
||||
sendService(service.reportDetail(*user, reportId), std::move(callback));
|
||||
}
|
||||
|
||||
void ReportController::interventionSummary(
|
||||
const drogon::HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback,
|
||||
long long reportId)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
{
|
||||
return;
|
||||
}
|
||||
visione::services::ReportService service;
|
||||
sendService(service.interventionSummary(*user, reportId), std::move(callback));
|
||||
}
|
||||
|
||||
void ReportController::updateStatus(
|
||||
const drogon::HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback,
|
||||
@@ -201,6 +263,23 @@ void ReportController::listMessages(
|
||||
sendService(service.listMessages(*user, reportId), std::move(callback));
|
||||
}
|
||||
|
||||
void ReportController::flagMessage(
|
||||
const drogon::HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback,
|
||||
long long reportId,
|
||||
long long messageId)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
{
|
||||
return;
|
||||
}
|
||||
const auto body = visione::http::requireJson(req);
|
||||
visione::services::ReportService service;
|
||||
sendService(service.flagMessage(*user, reportId, messageId, body),
|
||||
std::move(callback));
|
||||
}
|
||||
|
||||
void ReportController::assignTeam(
|
||||
const drogon::HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback,
|
||||
@@ -231,6 +310,21 @@ void ReportController::addFeedback(
|
||||
sendService(service.addFeedback(*user, reportId, body), std::move(callback));
|
||||
}
|
||||
|
||||
void ReportController::flagReport(
|
||||
const drogon::HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback,
|
||||
long long reportId)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
{
|
||||
return;
|
||||
}
|
||||
const auto body = visione::http::requireJson(req);
|
||||
visione::services::ReportService service;
|
||||
sendService(service.flagReport(*user, reportId, body), std::move(callback));
|
||||
}
|
||||
|
||||
void ReportController::uploadMedia(
|
||||
const drogon::HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback,
|
||||
|
||||
Reference in New Issue
Block a user