27#ifndef ROUTER_SRC_MYSQL_REST_SERVICE_SRC_MRS_DATABASE_HELPER_OBJECT_ROW_OWNERSHIP_H_ 
   28#define ROUTER_SRC_MYSQL_REST_SERVICE_SRC_MRS_DATABASE_HELPER_OBJECT_ROW_OWNERSHIP_H_ 
   51      std::vector<mrs::database::entry::RowGroupOwnership>;
 
   55                     const std::optional<UserId> &user_id = {},
 
   63        m_user_id(!user_id.has_value() ? std::optional<mysqlrouter::sqlstring>()
 
   67    assert(!
enabled() || user_id.has_value());
 
   71                     const std::string &column_name,
 
Definition: object_row_ownership.h:45
 
std::vector< mrs::database::entry::RowGroupOwnership > VectorOfRowGroupOwnership
Definition: object_row_ownership.h:51
 
const VectorOfRowGroupOwnership & m_row_groups
Definition: object_row_ownership.h:112
 
ObjectRowOwnership(std::shared_ptr< entry::Table > table, const std::string &column_name, const mysqlrouter::sqlstring &user_id, const VectorOfRowGroupOwnership &row_groups={}, const std::set< UniversalId > &user_groups={})
Definition: object_row_ownership.h:70
 
const std::set< UniversalId > user_groups() const
Definition: object_row_ownership.h:96
 
const std::set< UniversalId > & m_user_groups
Definition: object_row_ownership.h:113
 
bool enabled() const
Definition: object_row_ownership.h:85
 
std::string m_owner_column_name
Definition: object_row_ownership.h:110
 
mysqlrouter::sqlstring owner_check_expr(const std::string &table_name) const
Definition: object_row_ownership.h:103
 
std::optional< mysqlrouter::sqlstring > m_user_id
Definition: object_row_ownership.h:111
 
bool is_owner_id(const entry::Table &table, const entry::Column &column) const
Definition: object_row_ownership.h:87
 
mysqlrouter::sqlstring owner_check_expr() const
Definition: object_row_ownership.h:98
 
std::shared_ptr< entry::Table > m_table
Definition: object_row_ownership.h:109
 
const mysqlrouter::sqlstring & owner_user_id() const
Definition: object_row_ownership.h:81
 
mrs::database::entry::AuthUser::UserId UserId
Definition: object_row_ownership.h:47
 
const std::string & owner_column_name() const
Definition: object_row_ownership.h:83
 
const VectorOfRowGroupOwnership & row_groups() const
Definition: object_row_ownership.h:94
 
mrs::database::entry::RowUserOwnership RowUserOwnership
Definition: object_row_ownership.h:48
 
ObjectRowOwnership(std::shared_ptr< entry::Table > table={}, const RowUserOwnership *user_ownership=nullptr, const std::optional< UserId > &user_id={}, const VectorOfRowGroupOwnership &row_groups={}, const std::set< UniversalId > &user_groups={})
Definition: object_row_ownership.h:53
 
mrs::database::entry::UniversalId UniversalId
Definition: object_row_ownership.h:49
 
Definition: utils_sqlstring.h:67
 
mrs::database::entry::RowUserOwnership RowUserOwnership
Definition: handler_db_object_table.cc:77
 
static PFS_engine_table_share_proxy table
Definition: pfs.cc:61
 
entry::Column Column
Definition: select.h:53
 
entry::Table Table
Definition: select.h:51
 
mysqlrouter::sqlstring sqlstring
Definition: query_retry_on_ro.cc:36
 
mysqlrouter::sqlstring to_sqlstring(entry::Column *dfield, Value *value)
Definition: filter_object_generator.cc:263
 
Definition: authorize_manager.h:48
 
mrs::database::entry::UniversalId UniversalId
Definition: universal_id.h:33
 
const char * table_name
Definition: rules_table_service.cc:56
 
UniversalId UserId
Definition: auth_user.h:47
 
Definition: row_user_ownership.h:35
 
std::string user_ownership_column
Definition: row_user_ownership.h:37
 
bool user_ownership_enforced
Definition: row_user_ownership.h:36