GitWatcherBot
1.0.0
A Telegram Bot that notifies you when a new change is made in your repositories (issues, pull requests, stars, forks, and watches)
Main Page
Namespaces
Namespace List
Namespace Members
All
Typedefs
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
a
b
c
d
f
g
i
l
o
p
r
s
t
u
w
~
Functions
a
b
f
g
i
l
o
r
t
u
~
Variables
a
c
d
f
i
l
o
p
s
t
u
w
Files
File List
File Members
All
Functions
Variables
Macros
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Macros
User.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <cstdint>
4
#include <string>
5
#include <cstring>
6
#include <ctime>
7
#include <sqlite_orm/sqlite_orm.h>
8
#include <tgbotxx/tgbotxx.hpp>
9
#include "enums/UserStatus.inl"
10
11
namespace
models
{
12
using
UserId
= decltype(tgbotxx::User::id);
13
using
ChatId
= decltype(tgbotxx::Chat::id);
14
15
struct
User
{
16
UserId
id
{};
17
ChatId
chatId
{};
18
UserStatus
status
{UserStatus::ACTIVE};
19
std::string
firstName
;
20
std::string
lastName
;
21
std::string
username
;
22
std::string
languageCode
;
23
bool
isBot
{};
24
bool
isPremium
{};
25
bool
addedToAttachmentMenu
{};
26
std::time_t
createdAt
{};
27
std::time_t
updatedAt
{};
28
29
static
auto
table
() {
30
using namespace
sqlite_orm;
31
return
make_table(
"Users"
,
32
make_column(
"id"
, &
User::id
, primary_key()),
33
make_column(
"chatId"
, &
User::chatId
),
34
make_column(
"status"
, &
User::status
),
35
make_column(
"firstName"
, &
User::firstName
),
36
make_column(
"lastName"
, &
User::lastName
),
37
make_column(
"username"
, &
User::username
),
38
make_column(
"languageCode"
, &
User::languageCode
),
39
make_column(
"isBot"
, &
User::isBot
),
40
make_column(
"isPremium"
, &
User::isPremium
),
41
make_column(
"addedToAttachmentMenu"
, &
User::addedToAttachmentMenu
),
42
make_column(
"createdAt"
, &
User::createdAt
),
43
make_column(
"updatedAt"
, &
User::updatedAt
)
44
);
45
}
46
47
User
() =
default
;
48
49
User
(tgbotxx::Ptr<tgbotxx::User> tgUser,
ChatId
chatId
) {
50
id
= tgUser->id;
51
this->chatId =
chatId
;
52
status
= UserStatus::ACTIVE;
53
firstName
= tgUser->firstName;
54
lastName
= tgUser->lastName;
55
username
= tgUser->username;
56
languageCode
= tgUser->languageCode;
57
isBot
= tgUser->isBot;
58
isPremium
= tgUser->isPremium;
59
addedToAttachmentMenu
= tgUser->addedToAttachmentMenu;
60
createdAt
= std::time(
nullptr
);
61
updatedAt
=
createdAt
;
62
}
63
};
64
}
65
models
Definition:
Log.hpp:12
models::ChatId
decltype(tgbotxx::Chat::id) ChatId
Definition:
User.hpp:13
models::UserId
decltype(tgbotxx::User::id) UserId
Definition:
User.hpp:12
models::User
Definition:
User.hpp:15
models::User::isBot
bool isBot
Definition:
User.hpp:23
models::User::username
std::string username
Definition:
User.hpp:21
models::User::createdAt
std::time_t createdAt
Definition:
User.hpp:26
models::User::table
static auto table()
Definition:
User.hpp:29
models::User::id
UserId id
Definition:
User.hpp:16
models::User::updatedAt
std::time_t updatedAt
Definition:
User.hpp:27
models::User::isPremium
bool isPremium
Definition:
User.hpp:24
models::User::User
User(tgbotxx::Ptr< tgbotxx::User > tgUser, ChatId chatId)
Definition:
User.hpp:49
models::User::status
UserStatus status
Definition:
User.hpp:18
models::User::User
User()=default
models::User::chatId
ChatId chatId
Definition:
User.hpp:17
models::User::addedToAttachmentMenu
bool addedToAttachmentMenu
Definition:
User.hpp:25
models::User::lastName
std::string lastName
Definition:
User.hpp:20
models::User::languageCode
std::string languageCode
Definition:
User.hpp:22
models::User::firstName
std::string firstName
Definition:
User.hpp:19
src
db
models
User.hpp
Generated on Sat Jun 22 2024 16:34:05 for GitWatcherBot by
1.9.1