MySQL 9.3.0
Source Code Documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
mrs::database::ObjectRowOwnership Class Reference

#include <object_row_ownership.h>

Public Types

using UserId = mrs::database::entry::AuthUser::UserId
 
using RowUserOwnership = mrs::database::entry::RowUserOwnership
 
using UniversalId = mrs::database::entry::UniversalId
 
using VectorOfRowGroupOwnership = std::vector< mrs::database::entry::RowGroupOwnership >
 

Public Member Functions

 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={})
 
 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={})
 
const mysqlrouter::sqlstringowner_user_id () const
 
const std::string & owner_column_name () const
 
bool enabled () const
 
bool is_owner_id (const entry::Table &table, const entry::Column &column) const
 
const VectorOfRowGroupOwnershiprow_groups () const
 
const std::set< UniversalIduser_groups () const
 
mysqlrouter::sqlstring owner_check_expr () const
 
mysqlrouter::sqlstring owner_check_expr (const std::string &table_name) const
 

Private Attributes

std::shared_ptr< entry::Table > m_table
 
std::string m_owner_column_name
 
std::optional< mysqlrouter::sqlstringm_user_id
 
const VectorOfRowGroupOwnershipm_row_groups
 
const std::set< UniversalId > & m_user_groups
 

Member Typedef Documentation

◆ RowUserOwnership

◆ UniversalId

◆ UserId

using mrs::database::ObjectRowOwnership::UserId = mrs::database::entry::AuthUser::UserId

◆ VectorOfRowGroupOwnership

Constructor & Destructor Documentation

◆ ObjectRowOwnership() [1/2]

mrs::database::ObjectRowOwnership::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 = {} 
)
inline

◆ ObjectRowOwnership() [2/2]

mrs::database::ObjectRowOwnership::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 = {} 
)
inline

Member Function Documentation

◆ enabled()

bool mrs::database::ObjectRowOwnership::enabled ( ) const
inline

◆ is_owner_id()

bool mrs::database::ObjectRowOwnership::is_owner_id ( const entry::Table &  table,
const entry::Column &  column 
) const
inline

◆ owner_check_expr() [1/2]

mysqlrouter::sqlstring mrs::database::ObjectRowOwnership::owner_check_expr ( ) const
inline

◆ owner_check_expr() [2/2]

mysqlrouter::sqlstring mrs::database::ObjectRowOwnership::owner_check_expr ( const std::string &  table_name) const
inline

◆ owner_column_name()

const std::string & mrs::database::ObjectRowOwnership::owner_column_name ( ) const
inline

◆ owner_user_id()

const mysqlrouter::sqlstring & mrs::database::ObjectRowOwnership::owner_user_id ( ) const
inline

◆ row_groups()

const VectorOfRowGroupOwnership & mrs::database::ObjectRowOwnership::row_groups ( ) const
inline

◆ user_groups()

const std::set< UniversalId > mrs::database::ObjectRowOwnership::user_groups ( ) const
inline

Member Data Documentation

◆ m_owner_column_name

std::string mrs::database::ObjectRowOwnership::m_owner_column_name
private

◆ m_row_groups

const VectorOfRowGroupOwnership& mrs::database::ObjectRowOwnership::m_row_groups
private

◆ m_table

std::shared_ptr<entry::Table> mrs::database::ObjectRowOwnership::m_table
private

◆ m_user_groups

const std::set<UniversalId>& mrs::database::ObjectRowOwnership::m_user_groups
private

◆ m_user_id

std::optional<mysqlrouter::sqlstring> mrs::database::ObjectRowOwnership::m_user_id
private

The documentation for this class was generated from the following file: