#pragma once #include using namespace drogon; namespace api::v1 { class schedules:public drogon::HttpController { public: METHOD_LIST_BEGIN METHOD_ADD(schedules::post_new, "/", Post, Options, "filters::json_required", "filters::schedules::valid_json"); METHOD_ADD(schedules::post_list, "/list", Post, Options, "filters::json_required"); METHOD_ADD(schedules::get_all, "/", Get, Options); METHOD_ADD(schedules::get_one_by_id, "/{1}", Get, Options); METHOD_ADD(schedules::delete_one_by_id, "/{1}", Delete, Options); METHOD_ADD(schedules::put_one_by_id, "/{1}", Put, Options, "filters::json_required", "filters::schedules::valid_json"); METHOD_ADD(schedules::get_by_tag, "/tag/{1}", Get, Options); //METHOD_ADD(controllers::get_relays_all,"/{1}/relays",Get); //METHOD_ADD(controllers::get_relays_one,"/{1}/relays/{2}",Get); METHOD_LIST_END static void post_new(const HttpRequestPtr& req, std::function &&callback); static void post_list(const HttpRequestPtr& req, std::function &&callback); static void get_all(const HttpRequestPtr& req, std::function &&callback); static void get_one_by_id(const HttpRequestPtr& req, std::function &&callback, const std::string& schedule_id); static void delete_one_by_id(const HttpRequestPtr& req, std::function &&callback, const std::string& schedule_id); static void put_one_by_id(const HttpRequestPtr& req, std::function &&callback, const std::string& schedule_id); static void get_by_tag(const HttpRequestPtr& req, std::function &&callback, const std::string& tag); //void get_relays_all(const HttpRequestPtr& req,std::function &&callback,std::string schedule_id); //void get_relays_one(const HttpRequestPtr& req,std::function &&callback,std::string schedule_id,std::string relay_id); }; }