32 lines
1.9 KiB
C++
32 lines
1.9 KiB
C++
#pragma once
|
|
#include <drogon/HttpController.h>
|
|
using namespace drogon;
|
|
namespace api
|
|
{
|
|
namespace v1
|
|
{
|
|
class controllers:public drogon::HttpController<controllers>
|
|
{
|
|
public:
|
|
METHOD_LIST_BEGIN
|
|
METHOD_ADD(controllers::post_discover, "/discover", Post);
|
|
METHOD_ADD(controllers::get_all, "/", Get);
|
|
METHOD_ADD(controllers::get_one_by_id, "/{1}", Get);
|
|
METHOD_ADD(controllers::delete_one_by_id, "/{1}", Delete);
|
|
|
|
METHOD_ADD(controllers::get_relays_all, "/{1}/relays/", Get);
|
|
METHOD_ADD(controllers::get_relays_one_by_id_and_num, "/{1}/relays/{2}", Get);
|
|
METHOD_ADD(controllers::put_relays_one_by_id_and_num, "/{1}/relays/{2}", Put, "filters::json_required", "filters::relays::valid_json");
|
|
METHOD_LIST_END
|
|
|
|
static void post_discover(const HttpRequestPtr& req, std::function<void (const HttpResponsePtr &)> &&callback);
|
|
static void get_all(const HttpRequestPtr& req, std::function<void (const HttpResponsePtr &)> &&callback);
|
|
static void get_one_by_id(const HttpRequestPtr& req, std::function<void (const HttpResponsePtr &)> &&callback, const std::string& controller_id);
|
|
static void delete_one_by_id(const HttpRequestPtr& req, std::function<void (const HttpResponsePtr &)> &&callback, const std::string& controller_id);
|
|
|
|
static void get_relays_all(const HttpRequestPtr& req, std::function<void (const HttpResponsePtr &)> &&callback, const std::string& controller_id);
|
|
static void get_relays_one_by_id_and_num(const HttpRequestPtr& req, std::function<void (const HttpResponsePtr &)> &&callback, const std::string& controller_id, int relay_num);
|
|
static void put_relays_one_by_id_and_num(const HttpRequestPtr& req, std::function<void (const HttpResponsePtr &)> &&callback, const std::string& controller_id, int relay_num);
|
|
};
|
|
}
|
|
}
|