26#ifndef ROUTER_SRC_REST_MRS_SRC_MRS_USERS_USER_MANAGIER_H_
27#define ROUTER_SRC_REST_MRS_SRC_MRS_USERS_USER_MANAGIER_H_
29#include <shared_mutex>
51 std::vector<std::pair<database::entry::UniversalId, std::string>>;
73 const bool update_changed =
true);
76 const std::optional<std::string> &email);
86 bool *out_is_different);
Definition: cache_manager.h:41
Lightweight implementation of optional.
Definition: optional.h:39
Definition: authorize_handler.h:53
collector::MysqlCacheManager::CachedObject SqlSessionCached
Definition: authorize_handler.h:55
Definition: query_factory.h:55
Definition: user_manager.h:41
AuthUser::UserIndex UserIndex
Definition: user_manager.h:46
bool user_get_by_id(UserId user_id, AuthUser *out_user, SqlSessionCache *out_cache)
Definition: user_manager.cc:103
bool limit_to_existing_users_
Definition: user_manager.h:92
void user_invalidate(const UserId id)
Definition: user_manager.cc:60
Handler::SqlSessionCached SqlSessionCache
Definition: user_manager.h:49
bool query_insert_user(SqlSessionCache *out_cache, AuthUser *out_user)
Definition: user_manager.cc:242
Cache user_cache_
Definition: user_manager.h:91
QueryFactory * query_factory_
Definition: user_manager.h:94
bool query_update_user(SqlSessionCache *out_cache, const UserId user_id, AuthUser *out_user)
Definition: user_manager.cc:233
const helper::Optional< UniversalId > default_role_id_
Definition: user_manager.h:93
database::entry::AuthUser AuthUser
Definition: user_manager.h:44
bool user_get(AuthUser *out_user, SqlSessionCache *out_cache, const bool update_changed=true)
Find the user data inside a cache or DB.
Definition: user_manager.cc:122
void update_email(SqlSessionCache *out_cache, const UserId &id, const std::optional< std::string > &email)
Definition: user_manager.cc:208
void update_users_cache(const ChangedUsersIds &changed_users_ids)
Definition: user_manager.cc:264
std::shared_mutex mutex_query_database_
Definition: user_manager.h:89
UserManager(const bool limit_to_existing_users, const helper::Optional< UniversalId > &default_role_id, QueryFactory *query_factory)
Definition: user_manager.h:55
std::vector< std::pair< database::entry::UniversalId, std::string > > ChangedUsersIds
Definition: user_manager.h:51
AuthUser * query_user(SqlSessionCache *out_cache, AuthUser *out_user, bool *out_is_different)
Definition: user_manager.cc:219
std::shared_mutex mutex_user_cache_
Definition: user_manager.h:90
AuthUser * cache_get(AuthUser *out_user, bool *out_is_different)
Definition: user_manager.cc:65
AuthUser::UserId UserId
Definition: user_manager.h:45
mrs::database::entry::AuthUser AuthUser
Definition: scram_handler.cc:54
QueryUuid::UserId UserId
Definition: query_uuid.cc:34
UserManager::AuthUser AuthUser
Definition: user_manager.cc:34
Definition: authorize_manager.h:48