69 行
2.5 KiB
C++
69 行
2.5 KiB
C++
#pragma once
|
|
|
|
#include <drogon/HttpController.h>
|
|
|
|
#include <cstdint>
|
|
|
|
namespace csp::controllers {
|
|
|
|
class MeController : public drogon::HttpController<MeController> {
|
|
public:
|
|
METHOD_LIST_BEGIN
|
|
ADD_METHOD_TO(MeController::profile, "/api/v1/me", drogon::Get);
|
|
ADD_METHOD_TO(MeController::listRedeemItems, "/api/v1/me/redeem/items",
|
|
drogon::Get);
|
|
ADD_METHOD_TO(MeController::listRedeemRecords, "/api/v1/me/redeem/records",
|
|
drogon::Get);
|
|
ADD_METHOD_TO(MeController::createRedeemRecord, "/api/v1/me/redeem/records",
|
|
drogon::Post);
|
|
ADD_METHOD_TO(MeController::listDailyTasks, "/api/v1/me/daily-tasks",
|
|
drogon::Get);
|
|
ADD_METHOD_TO(MeController::listWrongBook, "/api/v1/me/wrong-book",
|
|
drogon::Get);
|
|
ADD_METHOD_TO(MeController::upsertWrongBookNote, "/api/v1/me/wrong-book/{1}",
|
|
drogon::Patch);
|
|
ADD_METHOD_TO(MeController::deleteWrongBookItem, "/api/v1/me/wrong-book/{1}",
|
|
drogon::Delete);
|
|
ADD_METHOD_TO(MeController::listRatingHistory, "/api/v1/me/rating-history",
|
|
drogon::Get);
|
|
METHOD_LIST_END
|
|
|
|
void profile(const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&cb);
|
|
|
|
void
|
|
listRedeemItems(const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&cb);
|
|
|
|
void
|
|
listRedeemRecords(const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&cb);
|
|
|
|
void
|
|
createRedeemRecord(const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&cb);
|
|
|
|
void
|
|
listDailyTasks(const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&cb);
|
|
|
|
void listWrongBook(const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&cb);
|
|
|
|
void
|
|
upsertWrongBookNote(const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&cb,
|
|
int64_t problem_id);
|
|
|
|
void
|
|
deleteWrongBookItem(const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&cb,
|
|
int64_t problem_id);
|
|
|
|
void
|
|
listRatingHistory(const drogon::HttpRequestPtr &req,
|
|
std::function<void(const drogon::HttpResponsePtr &)> &&cb);
|
|
};
|
|
|
|
} // namespace csp::controllers
|