#pragma once #include using namespace std; struct Bot { string name, short_description, long_description, avatar_url, owner, support_server, prefix; uint64_t owner_id, app_id; uint32_t votes = 0; bool approved = false; }; using namespace drogon; class views: public drogon::HttpController { orm::DbClientPtr db; public: views(); void start(const HttpRequestPtr&, std::function &&); void botlist(const HttpRequestPtr&, std::function &&); void botdetail(const HttpRequestPtr&, std::function &&, uint64_t); void botvote(const HttpRequestPtr&, std::function &&, uint64_t); void discordauth(const HttpRequestPtr&, std::function &&, const std::string&); void discorddeauth(const HttpRequestPtr&, std::function &&); METHOD_LIST_BEGIN ADD_METHOD_TO(views::start, "/", Get); ADD_METHOD_TO(views::botlist, "/bots/@all", Get); ADD_METHOD_TO(views::botlist, "/bots/@me", Get); ADD_METHOD_TO(views::botdetail, "/bots/{1}/detail", Get); ADD_METHOD_TO(views::botvote, "/bots/{1}/vote", Get); ADD_METHOD_TO(views::discordauth, "/discordauth?code={1}", Get); ADD_METHOD_TO(views::discorddeauth, "/discorddeauth", Get); METHOD_LIST_END };