lintel 0.2.0
Loading...
Searching...
No Matches
UserSessionDto.h
Go to the documentation of this file.
1#ifndef LINTEL_USERSESSIONDTO_H
2#define LINTEL_USERSESSIONDTO_H
3
4#include <chrono>
5#include <string>
6#include <vector>
7
10
11namespace lintel {
14{
15private:
17 std::string m_id;
19 std::string m_ipAddress;
21 std::string m_userName;
23 std::chrono::sys_time<std::chrono::microseconds> m_lastAccessTimestamps;
24
26 static struct Shapes
27 {
28 const char *const ID = "id";
29 const char *const IP_ADDRESS = "ip_address";
30 const char *const USER_NAME = "user_name";
31 const char *const LAST_ACCESS = "last_access";
32 } shape;
33
34public:
38
44 static std::vector<UserSessionDto> listOf(const std::vector<UserToken> &tokens);
45
47 UserSessionDto() = default;
48
51 [[nodiscard]] const std::string &getId() const;
52
55 [[nodiscard]] const std::string &getIpAddress() const;
56
59 [[nodiscard]] const std::string &getUserName() const;
60
63 [[nodiscard]] const std::chrono::sys_time<std::chrono::microseconds> &getLastAccessTimestamps() const;
64
67 void serialize(rapidjson::Writer<rapidjson::StringBuffer> *writer) const override;
68
72 bool deserialize(const rapidjson::Value &obj) override;
73};
74
75}// namespace lintel
76#endif// LINTEL_USERSESSIONDTO_H
Definition JsonSerializable.h:17
Definition UserSessionDto.h:14
static std::vector< UserSessionDto > listOf(const std::vector< UserToken > &tokens)
const std::chrono::sys_time< std::chrono::microseconds > & getLastAccessTimestamps() const
bool deserialize(const rapidjson::Value &obj) override
UserSessionDto(const UserToken &userToken)
const std::string & getId() const
void serialize(rapidjson::Writer< rapidjson::StringBuffer > *writer) const override
const std::string & getIpAddress() const
const std::string & getUserName() const
Definition BaseFeature.h:6
constexpr std::string_view type_name()
Definition TypeName.h:9
Definition IAuthService.h:30