#pragma once
#include <drogon/HttpController.h>
using namespace drogon;
namespace api
{
    namespace v1
    {
        class devices:public drogon::HttpController<devices>
        {
        public:
            METHOD_LIST_BEGIN
            METHOD_ADD(devices::post_discover, "/discover", Post);
            //METHOD_ADD(Devices::get_all,"/",Get);
            //METHOD_ADD(Devices::get_one,"/{1}",Get);
            //METHOD_ADD(Devices::get_relays_all,"/{1}/relays",Get);
            //METHOD_ADD(Devices::get_relays_one,"/{1}/relays/{2}",Get);
            METHOD_LIST_END

            void post_discover(const HttpRequestPtr& req,std::function<void (const HttpResponsePtr &)> &&callback);
            //void get_all(const HttpRequestPtr& req,std::function<void (const HttpResponsePtr &)> &&callback);
            //void get_one(const HttpRequestPtr& req,std::function<void (const HttpResponsePtr &)> &&callback,std::string device_id);
            //void get_relays_all(const HttpRequestPtr& req,std::function<void (const HttpResponsePtr &)> &&callback,std::string device_id);
            //void get_relays_one(const HttpRequestPtr& req,std::function<void (const HttpResponsePtr &)> &&callback,std::string device_id,std::string relay_id);
        };
    }
}