pub struct ConfigDatabase {
pub database: Arc<Box<dyn Database>>,
}Expand description
Wrapper for the global database instance that implements actix-web’s FromRequest
This struct provides access to the global database configured via init.
It dereferences to dyn Database for convenient access.
§Actix-web Integration
When the api feature is enabled, this implements FromRequest for automatic
dependency injection in actix-web handlers.
§Examples
ⓘ
use actix_web::{web, HttpResponse};
use switchy_database::config::ConfigDatabase;
async fn my_handler(db: ConfigDatabase) -> HttpResponse {
let users = db.select("users").execute(&*db).await.unwrap();
HttpResponse::Ok().json(users)
}Fields§
§database: Arc<Box<dyn Database>>The global database instance wrapped in Arc for thread-safe sharing
Trait Implementations§
Source§impl Clone for ConfigDatabase
impl Clone for ConfigDatabase
Source§fn clone(&self) -> ConfigDatabase
fn clone(&self) -> ConfigDatabase
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ConfigDatabase
impl Debug for ConfigDatabase
Source§impl Deref for ConfigDatabase
impl Deref for ConfigDatabase
Source§impl<'a> From<&'a ConfigDatabase> for &'a dyn Database
impl<'a> From<&'a ConfigDatabase> for &'a dyn Database
Source§fn from(value: &'a ConfigDatabase) -> &'a dyn Database
fn from(value: &'a ConfigDatabase) -> &'a dyn Database
Converts to this type from the input type.
Auto Trait Implementations§
impl !RefUnwindSafe for ConfigDatabase
impl !UnwindSafe for ConfigDatabase
impl Freeze for ConfigDatabase
impl Send for ConfigDatabase
impl Sync for ConfigDatabase
impl Unpin for ConfigDatabase
impl UnsafeUnpin for ConfigDatabase
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
impl<T> HandlerSend for T
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request