26#ifndef ROUTER_SRC_REST_MRS_SRC_MRS_DATABASE_ENTRY_AUTH_USER_H_
27#define ROUTER_SRC_REST_MRS_SRC_MRS_DATABASE_ENTRY_AUTH_USER_H_
30#include <initializer_list>
53 UserIndex(
const std::string &vendor_id) : vendor_user_id{vendor_id} {}
57 : has_user_id{other.has_user_id},
58 user_id{other.user_id},
59 vendor_user_id{
std::move(other.vendor_user_id)} {}
71 return user_id == other.
user_id;
74 if (vendor_user_id.empty())
return false;
85 if (vendor_user_id.empty())
return true;
93 result +=
"vendor_id:" + vendor_user_id;
94 if (has_user_id)
result +=
", user_id:" + user_id.to_string();
100 bool has_user_id{
false};
111 bool has_user_id{
false};
118 bool login_permitted{
true};
123 bool is_mysql_auth{
false};
131 std::map<std::string, std::string>
map;
140 for (
const auto &kv :
map) {
141 result += (first ?
"'" :
", '");
142 result += kv.first +
"':'";
143 result += kv.second +
"'";
Definition: auth_user.h:50
UserIndex(const AuthUser &other)
Definition: auth_user.h:55
UserIndex(const std::string &vendor_id)
Definition: auth_user.h:53
bool operator<(const UserIndex &other) const
Definition: auth_user.h:80
UserIndex & operator=(const AuthUser &other)
Definition: auth_user.h:61
std::string vendor_user_id
Definition: auth_user.h:102
UserIndex(AuthUser &&other)
Definition: auth_user.h:56
bool has_user_id
Definition: auth_user.h:100
bool operator==(const UserIndex &other) const
Definition: auth_user.h:69
UserIndex()
Definition: auth_user.h:52
std::string to_string() const
Definition: auth_user.h:91
UserIndex(const UserId id)
Definition: auth_user.h:54
UserId user_id
Definition: auth_user.h:101
Null-terminated string which is securely wiped on destruction.
Definition: secure_string.h:59
Logging interface for using and extending the logging subsystem.
#define IMPORT_LOG_FUNCTIONS()
convenience macro to avoid common boilerplate
Definition: logging.h:323
std::string to_string(const AuthUser &ud)
Definition: auth_user.h:127
Definition: authorize_manager.h:48
mrs::database::entry::UniversalId UniversalId
Definition: universal_id.h:33
Definition: gcs_xcom_synode.h:64
std::map< Key, Value, Compare, ut::allocator< std::pair< const Key, Value > > > map
Specialization of map which uses ut_allocator.
Definition: ut0new.h:2894
struct result result
Definition: result.h:34
Definition: completion_hash.h:35
Definition: auth_user.h:47
std::string options
Definition: auth_user.h:121
mysql_harness::SecureString mysql_password
Definition: auth_user.h:124
AuthUser(const AuthUser &)=default
UserId user_id
Definition: auth_user.h:112
std::string auth_string
Definition: auth_user.h:116
std::string vendor_user_id
Definition: auth_user.h:117
std::string email
Definition: auth_user.h:115
AuthUser & operator=(const AuthUser &)=default
UniversalId app_id
Definition: auth_user.h:113
std::set< UniversalId > groups
Definition: auth_user.h:120
bool login_permitted
Definition: auth_user.h:118
std::vector< AuthPrivilege > privileges
Definition: auth_user.h:119
bool has_user_id
Definition: auth_user.h:111
std::string name
Definition: auth_user.h:114
Definition: universal_id.h:45
std::string to_string() const
Definition: universal_id.h:119
unsigned long id[MAX_DEAD]
Definition: xcom_base.cc:510