MySQL 9.3.0
Source Code Documentation
mrs::endpoint::handler::HandlerDbObjectOpenAPI Class Reference

#include <handler_db_object_openapi.h>

Inheritance diagram for mrs::endpoint::handler::HandlerDbObjectOpenAPI:
[legend]

Public Types

using DbObject = mrs::database::entry::DbObject
 
using DbSchema = mrs::database::entry::DbSchema
 
using DbService = mrs::database::entry::DbService
 
using DbObjectPtr = std::shared_ptr< DbObject >
 
using DbSchemaPtr = std::shared_ptr< DbSchema >
 
using DbServicePtr = std::shared_ptr< DbService >
 
using DbObjectEndpoint = mrs::endpoint::DbObjectEndpoint
 
- Public Types inherited from mrs::rest::Handler
using HttpUri = ::http::base::Uri
 
using Protocol = ::mrs::endpoint::handler::Protocol
 
- Public Types inherited from mrs::interface::RestHandler
enum class  Authorization { kNotNeeded , kRequires , kCheck }
 
using SqlSession = mysqlrouter::MySQLSession
 
using RequestContext = mrs::rest::RequestContext
 
using Parameters = mrs::interface::Parameters
 
using HttpResult = mrs::interface::HttpResult
 

Public Member Functions

 HandlerDbObjectOpenAPI (std::weak_ptr< DbObjectEndpoint > endpoint, mrs::interface::AuthorizeManager *auth_manager)
 
HttpResult handle_get (rest::RequestContext *ctxt) override
 
HttpResult handle_post (rest::RequestContext *ctxt, const std::vector< uint8_t > &document) override
 
HttpResult handle_delete (rest::RequestContext *ctxt) override
 
HttpResult handle_put (rest::RequestContext *ctxt) override
 
uint32_t get_access_rights () const override
 
Authorization requires_authentication () const override
 
UniversalId get_service_id () const override
 
UniversalId get_db_object_id () const override
 
UniversalId get_schema_id () const override
 
const std::string & get_service_path () const override
 
const std::string & get_schema_path () const override
 
const std::string & get_db_object_path () const override
 
void authorization (rest::RequestContext *ctxt) override
 
- Public Member Functions inherited from mrs::rest::Handler
 Handler (const Protocol protocol, const std::string &url_host, const std::vector< std::string > &rest_path_matcher, const std::optional< std::string > &options, interface::AuthorizeManager *auth_manager)
 
 ~Handler () override
 
void initialize (const Configuration &configuration) override
 
const std::string & get_url_host () const override
 
const std::string & get_protocol () const override
 
bool may_check_access () const override
 
void authorization (RequestContext *ctxt) override
 
bool request_begin (RequestContext *ctxt) override
 
void request_end (RequestContext *ctxt) override
 
bool request_error (RequestContext *ctxt, const http::Error &e) override
 Error handler. More...
 
const interface::Optionsget_options () const override
 
void throw_unauthorize_when_check_auth_fails (RequestContext *)
 
uint32_t check_privileges (const std::vector< database::entry::AuthPrivilege > &privileges, const UniversalId &service_id, const std::string &service_path, const UniversalId &schema_id, const std::string &schema_path, const UniversalId &db_object_id, const std::string &db_object_path)
 
- Public Member Functions inherited from mrs::interface::RestHandler
virtual ~RestHandler ()=default
 
virtual void initialize (const Configuration &configuration)=0
 

Public Attributes

std::weak_ptr< DbObjectEndpointendpoint_
 
DbObjectPtr entry_
 
DbSchemaPtr schema_entry_
 
DbServicePtr service_entry_
 
std::string url_obj_
 

Additional Inherited Members

- Protected Member Functions inherited from mrs::rest::Handler
const std::string & empty_path () const
 
- Protected Attributes inherited from mrs::rest::Handler
interface::Options options_
 
const std::string url_host_
 
std::vector< std::string > rest_path_matcher_
 
std::vector< void * > handler_id_
 
interface::AuthorizeManagerauthorization_manager_
 
const std::string protocol_
 
std::shared_ptr< Configuration > configuration_
 
bool log_level_is_debug_
 
bool log_level_is_info_
 

Member Typedef Documentation

◆ DbObject

◆ DbObjectEndpoint

◆ DbObjectPtr

◆ DbSchema

◆ DbSchemaPtr

◆ DbService

◆ DbServicePtr

Constructor & Destructor Documentation

◆ HandlerDbObjectOpenAPI()

mrs::endpoint::handler::HandlerDbObjectOpenAPI::HandlerDbObjectOpenAPI ( std::weak_ptr< DbObjectEndpoint endpoint,
mrs::interface::AuthorizeManager auth_manager 
)

Member Function Documentation

◆ authorization()

void mrs::endpoint::handler::HandlerDbObjectOpenAPI::authorization ( rest::RequestContext ctxt)
overridevirtual

◆ get_access_rights()

uint32_t mrs::endpoint::handler::HandlerDbObjectOpenAPI::get_access_rights ( ) const
overridevirtual

◆ get_db_object_id()

UniversalId mrs::endpoint::handler::HandlerDbObjectOpenAPI::get_db_object_id ( ) const
overridevirtual

◆ get_db_object_path()

const std::string & mrs::endpoint::handler::HandlerDbObjectOpenAPI::get_db_object_path ( ) const
overridevirtual

◆ get_schema_id()

UniversalId mrs::endpoint::handler::HandlerDbObjectOpenAPI::get_schema_id ( ) const
overridevirtual

◆ get_schema_path()

const std::string & mrs::endpoint::handler::HandlerDbObjectOpenAPI::get_schema_path ( ) const
overridevirtual

◆ get_service_id()

UniversalId mrs::endpoint::handler::HandlerDbObjectOpenAPI::get_service_id ( ) const
overridevirtual

◆ get_service_path()

const std::string & mrs::endpoint::handler::HandlerDbObjectOpenAPI::get_service_path ( ) const
overridevirtual

◆ handle_delete()

HttpResult mrs::endpoint::handler::HandlerDbObjectOpenAPI::handle_delete ( rest::RequestContext ctxt)
overridevirtual

◆ handle_get()

HttpResult mrs::endpoint::handler::HandlerDbObjectOpenAPI::handle_get ( rest::RequestContext ctxt)
overridevirtual

◆ handle_post()

HttpResult mrs::endpoint::handler::HandlerDbObjectOpenAPI::handle_post ( rest::RequestContext ctxt,
const std::vector< uint8_t > &  document 
)
overridevirtual

◆ handle_put()

HttpResult mrs::endpoint::handler::HandlerDbObjectOpenAPI::handle_put ( rest::RequestContext ctxt)
overridevirtual

◆ requires_authentication()

Authorization mrs::endpoint::handler::HandlerDbObjectOpenAPI::requires_authentication ( ) const
overridevirtual

Member Data Documentation

◆ endpoint_

std::weak_ptr<DbObjectEndpoint> mrs::endpoint::handler::HandlerDbObjectOpenAPI::endpoint_

◆ entry_

DbObjectPtr mrs::endpoint::handler::HandlerDbObjectOpenAPI::entry_

◆ schema_entry_

DbSchemaPtr mrs::endpoint::handler::HandlerDbObjectOpenAPI::schema_entry_

◆ service_entry_

DbServicePtr mrs::endpoint::handler::HandlerDbObjectOpenAPI::service_entry_

◆ url_obj_

std::string mrs::endpoint::handler::HandlerDbObjectOpenAPI::url_obj_

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