Cavoke  1.1.0
A Platform for creating and hosting multiplayer turn-based board games
Loading...
Searching...
No Matches
users_controller.h
1#ifndef CAVOKE_USERS_CONTROLLER_H
2#define CAVOKE_USERS_CONTROLLER_H
3#include <drogon/HttpController.h>
4#include "sql-models/Users.h"
5#include "utils.h"
6
7namespace cavoke::server::controllers {
8
9struct UsersController : public drogon::HttpController<UsersController, true> {
10public:
11 METHOD_LIST_BEGIN
12 ADD_METHOD_TO(UsersController::get_me,
13 "/profile/get_me",
14 drogon::Get,
15 "AuthFilter");
16 ADD_METHOD_TO(UsersController::change_name,
17 "/profile/change_name",
18 drogon::Post,
19 "AuthFilter");
20 ADD_METHOD_TO(UsersController::get_user,
21 "/users/get_user",
22 drogon::Get,
23 "AuthFilter");
24 METHOD_LIST_END
25
26protected:
27 void get_me(
28 const drogon::HttpRequestPtr &req,
29 std::function<void(const drogon::HttpResponsePtr &)> &&callback);
30 void change_name(
31 const drogon::HttpRequestPtr &req,
32 std::function<void(const drogon::HttpResponsePtr &)> &&callback);
33 void get_user(
34 const drogon::HttpRequestPtr &req,
35 std::function<void(const drogon::HttpResponsePtr &)> &&callback);
36
37private:
38 MAPPER_TYPE(drogon_model::cavoke_orm::Users)
39 mp_users = MAPPER_FOR(drogon_model::cavoke_orm::Users);
40};
41
42} // namespace cavoke::server::controllers
43
44#endif // CAVOKE_USERS_CONTROLLER_H