lintel 0.2.0
Loading...
Searching...
No Matches
UserRepository.h
Go to the documentation of this file.
1#ifndef LINTEL_USERREPOSITORY_H
2#define LINTEL_USERREPOSITORY_H
3
4#include <optional>
5#include <set>
6
12
13namespace lintel {
18{
19private:
20 std::shared_ptr<DatabaseConnectionConfigurations> m_connectionConfigurations;
21 std::shared_ptr<DatabaseConnectionEntry> m_connectionEntry;
22 std::shared_ptr<GroupRepository> m_groupRepository;
23
24public:
30 UserRepository(std::shared_ptr<DatabaseConnectionConfigurations> connectionConfigurations,
31 std::shared_ptr<GroupRepository> groupRepository);
32
38 std::optional<User> of(const std::string &userName);
39
41 std::vector<User> allOf();
42
47 std::vector<User> allOf(const std::string &userNameMatches);
48
59 pageOf(const std::string &userNameMatches, const std::optional<std::string> &afterUserName, std::size_t limit);
60
65 void createOf(const User &user);
66
71 void deleteOf(const User &user);
72
77 void deleteOf(const std::vector<std::string> &userNames);
78
84 void addGroupsOf(const User &user, const std::set<Group> &groups);
85
91 void addGroupOf(const User &user, const Group &group);
92
98 void removeGroupsOf(const User &user, const std::set<Group> &groups);
99
105 void removeGroupOf(const User &user, const Group &group);
106
112 void changeFirstNameOf(const User &user, const std::string &firstName);
113
119 void changeLastNameOf(const User &user, const std::string &lastName);
120
126 void changeUserNameOf(const User &user, const std::string &userName);
127
133 void changePasswordOf(const User &user, const std::string &password);
134
140 void changeEMailOf(const User &user, const std::string &eMail);
141};
142
143}// namespace lintel
144#endif// LINTEL_USERREPOSITORY_H
Definition Group.h:35
Definition Page.h:15
Definition UserRepository.h:18
void deleteOf(const User &user)
void changeUserNameOf(const User &user, const std::string &userName)
void changePasswordOf(const User &user, const std::string &password)
void changeEMailOf(const User &user, const std::string &eMail)
void createOf(const User &user)
UserRepository(std::shared_ptr< DatabaseConnectionConfigurations > connectionConfigurations, std::shared_ptr< GroupRepository > groupRepository)
void changeFirstNameOf(const User &user, const std::string &firstName)
void deleteOf(const std::vector< std::string > &userNames)
void removeGroupOf(const User &user, const Group &group)
void addGroupsOf(const User &user, const std::set< Group > &groups)
void removeGroupsOf(const User &user, const std::set< Group > &groups)
void changeLastNameOf(const User &user, const std::string &lastName)
std::optional< User > of(const std::string &userName)
Page< User > pageOf(const std::string &userNameMatches, const std::optional< std::string > &afterUserName, std::size_t limit)
std::vector< User > allOf(const std::string &userNameMatches)
std::vector< User > allOf()
void addGroupOf(const User &user, const Group &group)
Definition User.h:23
Definition BaseFeature.h:6
constexpr std::string_view type_name()
Definition TypeName.h:9