lintel 0.2.0
Loading...
Searching...
No Matches
UserGroupDto.h
Go to the documentation of this file.
1#ifndef LINTEL_USERGROUP_H
2#define LINTEL_USERGROUP_H
3
4#include <set>
5#include <string>
6
8
9namespace lintel {
12{
13private:
15 std::set<std::string> m_groupAdds;
17 std::set<std::string> m_groupRemoves;
19 std::string m_userName;
20
22 static struct Shapes
23 {
24 const char *const USER_NAME = "user_name";
25 const char *const GROUPS_ADD = "groups_add";
26 const char *const GROUPS_REMOVE = "groups_remove";
27 } shape;
28
29public:
31 UserGroupDto() = default;
32
37 UserGroupDto(std::set<std::string> groupAdds, std::set<std::string> groupRemoves, std::string userName);
38
41 [[nodiscard]] const std::string &getUserName();
42
45 [[nodiscard]] const std::set<std::string> &getGroupAdds();
46
49 [[nodiscard]] const std::set<std::string> &getGroupRemoves();
50
53 void serialize(rapidjson::Writer<rapidjson::StringBuffer> *writer) const override;
54
58 bool deserialize(const rapidjson::Value &obj) override;
59};
60
61}// namespace lintel
62#endif// LINTEL_USERGROUP_H
Definition JsonSerializable.h:17
Definition UserGroupDto.h:12
bool deserialize(const rapidjson::Value &obj) override
UserGroupDto(std::set< std::string > groupAdds, std::set< std::string > groupRemoves, std::string userName)
void serialize(rapidjson::Writer< rapidjson::StringBuffer > *writer) const override
const std::set< std::string > & getGroupRemoves()
const std::set< std::string > & getGroupAdds()
const std::string & getUserName()
Definition BaseFeature.h:6
constexpr std::string_view type_name()
Definition TypeName.h:9