1#ifndef CAVOKE_STATISTICS_MANAGER_H
2#define CAVOKE_STATISTICS_MANAGER_H
5#include "model/sessions/sessions_storage.h"
7namespace cavoke::server::model {
10 std::shared_ptr<SessionsStorage> m_session_storage;
11 std::shared_ptr<GamesStorage> m_games_storage;
15 std::shared_ptr<GamesStorage> mGamesStorage);
18 int average_duration_sec;
19 int average_players_count;
20 int total_time_played_sec;
21 int total_games_played;
32 int total_time_played_sec;
33 int total_games_played;
38 const std::string &game_id);
40 const std::string &user_id);
43 int get_avg_duration(
const std::string &game_id);
44 int get_avg_players_cnt(
const std::string &game_id);
45 int get_total_time_played(
const std::string &game_id);
46 int get_total_games_played(
const std::string &game_id);
47 int get_user_total_time_played(
const std::string &user_id);
48 int get_user_total_games_played(
const std::string &user_id);
49 double get_user_win_rate(
const std::string &user_id,
50 const std::string &game_id);
51 int get_user_games_played(
const std::string &user_id,
52 const std::string &game_id);
53 int get_user_time_played(
const std::string &user_id,
54 const std::string &game_id);
59 average_players_count,
60 total_time_played_sec,
69 total_time_played_sec,