pub struct RestrictedTransaction { /* private fields */ }Available on crate feature
rbac only.Expand description
Wrapper of DatabaseTransaction that performs authorization on all executed
queries for the current user. Note that raw SQL Statement is not allowed
currently.
Implementationsยง
Sourceยงimpl RestrictedTransaction
impl RestrictedTransaction
Sourcepub fn user_can_run<S: StatementBuilder>(&self, stmt: &S) -> Result<(), DbErr>
pub fn user_can_run<S: StatementBuilder>(&self, stmt: &S) -> Result<(), DbErr>
Returns () if the current user can execute / query the given SQL statement.
Returns DbErr::AccessDenied otherwise.
Trait Implementationsยง
Sourceยงimpl ConnectionTrait for RestrictedTransaction
impl ConnectionTrait for RestrictedTransaction
Sourceยงfn get_database_backend(&self) -> DbBackend
fn get_database_backend(&self) -> DbBackend
Get the database backend for the connection. This depends on feature flags enabled.
Sourceยงfn execute_raw(&self, stmt: Statement) -> Result<ExecResult, DbErr>
fn execute_raw(&self, stmt: Statement) -> Result<ExecResult, DbErr>
Execute a Statement
Sourceยงfn execute<S: StatementBuilder>(&self, stmt: &S) -> Result<ExecResult, DbErr>
fn execute<S: StatementBuilder>(&self, stmt: &S) -> Result<ExecResult, DbErr>
Execute a [QueryStatement]
Sourceยงfn execute_unprepared(&self, sql: &str) -> Result<ExecResult, DbErr>
fn execute_unprepared(&self, sql: &str) -> Result<ExecResult, DbErr>
Execute a unprepared Statement
Sourceยงfn query_one_raw(&self, stmt: Statement) -> Result<Option<QueryResult>, DbErr>
fn query_one_raw(&self, stmt: Statement) -> Result<Option<QueryResult>, DbErr>
Execute a Statement and return a single row of
QueryResultSourceยงfn query_one<S: StatementBuilder>(
&self,
stmt: &S,
) -> Result<Option<QueryResult>, DbErr>
fn query_one<S: StatementBuilder>( &self, stmt: &S, ) -> Result<Option<QueryResult>, DbErr>
Execute a [QueryStatement] and return a single row of
QueryResultSourceยงfn query_all_raw(&self, stmt: Statement) -> Result<Vec<QueryResult>, DbErr>
fn query_all_raw(&self, stmt: Statement) -> Result<Vec<QueryResult>, DbErr>
Execute a Statement and return a vector of
QueryResultSourceยงfn query_all<S: StatementBuilder>(
&self,
stmt: &S,
) -> Result<Vec<QueryResult>, DbErr>
fn query_all<S: StatementBuilder>( &self, stmt: &S, ) -> Result<Vec<QueryResult>, DbErr>
Execute a [QueryStatement] and return a vector of
QueryResultSourceยงfn support_returning(&self) -> bool
fn support_returning(&self) -> bool
Check if the connection supports
RETURNING syntax on insert and updateSourceยงfn is_mock_connection(&self) -> bool
fn is_mock_connection(&self) -> bool
Check if the connection is a test connection for the Mock database
Sourceยงimpl Debug for RestrictedTransaction
impl Debug for RestrictedTransaction
Sourceยงimpl TransactionTrait for RestrictedTransaction
impl TransactionTrait for RestrictedTransaction
Sourceยงfn transaction<F, T, E>(&self, callback: F) -> Result<T, TransactionError<E>>
fn transaction<F, T, E>(&self, callback: F) -> Result<T, TransactionError<E>>
Execute the function inside a transaction. If the function returns an error, the transaction will be rolled back. If it does not return an error, the transaction will be committed.
Sourceยงfn transaction_with_config<F, T, E>(
&self,
callback: F,
isolation_level: Option<IsolationLevel>,
access_mode: Option<AccessMode>,
) -> Result<T, TransactionError<E>>
fn transaction_with_config<F, T, E>( &self, callback: F, isolation_level: Option<IsolationLevel>, access_mode: Option<AccessMode>, ) -> Result<T, TransactionError<E>>
Execute the function inside a transaction. If the function returns an error, the transaction will be rolled back. If it does not return an error, the transaction will be committed.
Sourceยงtype Transaction = RestrictedTransaction
type Transaction = RestrictedTransaction
The concrete type for the transaction
Sourceยงfn begin(&self) -> Result<RestrictedTransaction, DbErr>
fn begin(&self) -> Result<RestrictedTransaction, DbErr>
Execute SQL
BEGIN transaction.
Returns a Transaction that can be committed or rolled backSourceยงfn begin_with_config(
&self,
isolation_level: Option<IsolationLevel>,
access_mode: Option<AccessMode>,
) -> Result<RestrictedTransaction, DbErr>
fn begin_with_config( &self, isolation_level: Option<IsolationLevel>, access_mode: Option<AccessMode>, ) -> Result<RestrictedTransaction, DbErr>
Execute SQL
BEGIN transaction with isolation level and/or access mode.
Returns a Transaction that can be committed or rolled backAuto Trait Implementationsยง
impl Freeze for RestrictedTransaction
impl !RefUnwindSafe for RestrictedTransaction
impl !Send for RestrictedTransaction
impl !Sync for RestrictedTransaction
impl Unpin for RestrictedTransaction
impl !UnwindSafe for RestrictedTransaction
Blanket Implementationsยง
Sourceยงimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Sourceยงfn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Sourceยงimpl<T> Instrument for T
impl<T> Instrument for T
Sourceยงfn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Sourceยงfn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Sourceยงimpl<T> IntoEither for T
impl<T> IntoEither for T
Sourceยงfn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSourceยงfn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more