lintel 0.2.0
Loading...
Searching...
No Matches
UserApi.h
Go to the documentation of this file.
1#ifndef LINTEL_USERAPI_H
2#define LINTEL_USERAPI_H
3
4#include <memory>
5#include <optional>
6#include <set>
7#include <vector>
8
16
17namespace lintel {
20{
21private:
22 std::shared_ptr<Client> m_client;
23
24protected:
25 UserApi() = default;
26
27public:
28 explicit UserApi(const std::shared_ptr<ClientProvider> &clientProvider);
29
31 virtual ~UserApi() = default;
32
33 // basic user functions for login / logout
35 virtual std::optional<UserDto> loginOf(const UserLoginDto &userLoginDto);
36
38 virtual bool logoutOf(const UserTokenDto &userTokenDto);
39
46
48 virtual std::vector<UserSessionDto> sessionsOf();
49
51 virtual bool revokeSessionOf(const std::string &sessionId);
52
54 virtual bool isLoggedIn();
55
56 // user management functions
58 virtual std::vector<GroupDto> allOf();
59
61 virtual std::vector<GroupDto> allOf(const std::string &groupName);
62
64 virtual std::vector<GroupDto> allOf(const std::string &groupName, bool isVirtualGroup);
65
67 virtual std::vector<GroupDto> allOf(bool isVirtualGroup);
68
70 virtual std::vector<UserDto> allUsersOf();
71
73 virtual std::vector<UserDto> allUsersOf(const std::string &userName);
74
76 virtual void createOf(const UserDto &userDto);
77
84 virtual void updateOf(const std::string &userName,
85 const std::set<std::string> &addGroups,
86 const std::set<std::string> &removeGroups);
87
89 virtual void deleteOf(const std::vector<std::string> &userNames);
90};
91
92}// namespace lintel
93#endif// LINTEL_USERAPI_H
Definition UserApi.h:20
virtual std::vector< GroupDto > allOf()
virtual ~UserApi()=default
virtual bool changePasswordOf(const UserPasswordChangeDto &passwordChangeDto)
virtual void createOf(const UserDto &userDto)
virtual std::vector< GroupDto > allOf(const std::string &groupName)
virtual std::optional< UserDto > loginOf(const UserLoginDto &userLoginDto)
virtual std::vector< UserDto > allUsersOf(const std::string &userName)
virtual bool logoutOf(const UserTokenDto &userTokenDto)
virtual void deleteOf(const std::vector< std::string > &userNames)
virtual bool revokeSessionOf(const std::string &sessionId)
virtual std::vector< GroupDto > allOf(const std::string &groupName, bool isVirtualGroup)
virtual std::vector< UserSessionDto > sessionsOf()
virtual std::vector< UserDto > allUsersOf()
virtual bool isLoggedIn()
virtual std::vector< GroupDto > allOf(bool isVirtualGroup)
UserApi()=default
virtual void updateOf(const std::string &userName, const std::set< std::string > &addGroups, const std::set< std::string > &removeGroups)
UserApi(const std::shared_ptr< ClientProvider > &clientProvider)
Definition UserDto.h:16
Definition UserLoginDto.h:10
Definition UserPasswordChangeDto.h:11
Definition UserTokenDto.h:9
Definition BaseFeature.h:6
constexpr std::string_view type_name()
Definition TypeName.h:9