lintel 0.2.0
Loading...
Searching...
No Matches
UserNameDto.h
Go to the documentation of this file.
1#ifndef LINTEL_USERNAMEDTO_H
2#define LINTEL_USERNAMEDTO_H
3
6
7namespace lintel {
10{
11private:
13 std::string m_userName;
14
16 static struct Shapes
17 {
18 const char *const USER_NAME = "user_name";
19 } shape;
20
21public:
24 explicit UserNameDto(const User &user);
25
28 explicit UserNameDto(std::string userName);
29
31 UserNameDto() = default;
32
35 [[nodiscard]] const std::string &getUserName() const;
36
39 void serialize(rapidjson::Writer<rapidjson::StringBuffer> *writer) const override;
40
44 bool deserialize(const rapidjson::Value &obj) override;
45};
46
49{
50private:
52 std::vector<UserNameDto> m_userNames;
53
57 static std::vector<UserNameDto> init(const std::vector<User> &users);
58
62 static std::vector<UserNameDto> init(const std::vector<std::string> &users);
63
64public:
67 explicit UserNamesDto(const std::vector<User> &users);
68
71 explicit UserNamesDto(const std::vector<std::string> &userNames);
72
74 UserNamesDto() = default;
75
78 void serialize(rapidjson::Writer<rapidjson::StringBuffer> *writer) const override;
79
83 bool deserialize(const rapidjson::Value &obj) override;
84
87 [[nodiscard]] const std::vector<UserNameDto> &getUserNames() const;
88};
89
90}// namespace lintel
91#endif// LINTEL_USERNAMEDTO_H
Definition JsonSerializable.h:17
Definition UserNameDto.h:10
bool deserialize(const rapidjson::Value &obj) override
void serialize(rapidjson::Writer< rapidjson::StringBuffer > *writer) const override
const std::string & getUserName() const
UserNameDto(const User &user)
UserNameDto(std::string userName)
Definition UserNameDto.h:49
UserNamesDto(const std::vector< User > &users)
UserNamesDto(const std::vector< std::string > &userNames)
const std::vector< UserNameDto > & getUserNames() const
void serialize(rapidjson::Writer< rapidjson::StringBuffer > *writer) const override
bool deserialize(const rapidjson::Value &obj) override
Definition User.h:23
Definition BaseFeature.h:6
constexpr std::string_view type_name()
Definition TypeName.h:9