From d1e0d677e7135de3c17034638a7d697d8f0e7c2f Mon Sep 17 00:00:00 2001 From: ilotterytea Date: Fri, 17 May 2024 23:39:18 +0500 Subject: upd: Stream is now class --- src/api/twitch/schemas/stream.hpp | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) (limited to 'src/api/twitch/schemas/stream.hpp') diff --git a/src/api/twitch/schemas/stream.hpp b/src/api/twitch/schemas/stream.hpp index ea380db..e3d485e 100644 --- a/src/api/twitch/schemas/stream.hpp +++ b/src/api/twitch/schemas/stream.hpp @@ -1,9 +1,35 @@ #pragma once +#include #include + +#include "../../../utils/chrono.hpp" + namespace bot::api::twitch::schemas { - struct Stream { + class Stream { + public: + Stream(int user_id, std::string user_login, std::string game_name, + std::string title, std::string started_at) + : user_id(user_id), + user_login(user_login), + game_name(game_name), + title(title), + started_at(utils::chrono::string_to_time_point( + started_at, "%Y-%m-%dT%H:%M:%SZ")) {} + + Stream(int user_id) : user_id(user_id) {} + + const int &get_user_id() const { return this->user_id; } + const std::string &get_user_login() const { return this->user_login; } + const std::string &get_game_name() const { return this->game_name; } + const std::string &get_title() const { return this->title; } + const std::chrono::system_clock::time_point &get_started_at() const { + return this->started_at; + } + + private: int user_id; - std::string user_login, game_name, title, started_at; + std::string user_login, game_name, title; + std::chrono::system_clock::time_point started_at; }; } -- cgit v1.2.3