1#ifndef CAVOKE_SERVER_GAMES_CONTROLLER_H
2#define CAVOKE_SERVER_GAMES_CONTROLLER_H
4#include <drogon/HttpController.h>
5#include "model/games/games_storage.h"
7namespace cavoke::server::controllers {
9using json = nlohmann::json;
12 std::shared_ptr<model::GamesStorage> m_games_storage;
16 ADD_METHOD_TO(GamesController::games_list,
20 ADD_METHOD_TO(GamesController::game_config,
21 "/games/{game_id}/get_config",
24 ADD_METHOD_TO(GamesController::game_client_file,
25 "/games/{game_id}/get_client",
31 std::shared_ptr<model::GamesStorage> games_storage);
35 const drogon::HttpRequestPtr &req,
36 std::function<
void(
const drogon::HttpResponsePtr &)> &&callback);
39 const drogon::HttpRequestPtr &req,
40 std::function<
void(
const drogon::HttpResponsePtr &)> &&callback,
41 const std::string &game_id);
43 void game_client_file(
44 const drogon::HttpRequestPtr &req,
45 std::function<
void(
const drogon::HttpResponsePtr &)> &&callback,
46 const std::string &game_id);