pub struct StorageBuilder { /* private fields */ }Expand description
Sub-builder for storage backend selection.
Entered via AuthBuilder::with_storage(); call done()
to return to the parent builder.
Implementations§
Source§impl StorageBuilder
impl StorageBuilder
Sourcepub fn custom(self, storage: Arc<dyn AuthStorage>) -> Self
pub fn custom(self, storage: Arc<dyn AuthStorage>) -> Self
Use a custom storage instance (already initialized) instead of the built-in storage backends.
Pass any type that implements AuthStorage
wrapped in an Arc. This is the extension point for third-party or
proprietary databases (SurrealDB, FoundationDB, DynamoDB, etc.).
§Example
ⓘ
use std::sync::Arc;
use auth_framework::prelude::*;
use auth_framework::storage::AuthStorage;
// Implement `AuthStorage` for your backend, then:
let storage: Arc<dyn AuthStorage> = Arc::new(
MySurrealStorage::connect("ws://localhost:8000").await?,
);
let auth = AuthFramework::builder()
.with_storage()
.custom(storage)
.done()
.build()
.await?;Sourcepub fn memory(self) -> Self
pub fn memory(self) -> Self
Configure in-memory storage.
§Example
use auth_framework::prelude::*;
let builder = AuthFramework::builder()
.with_storage().memory().done();Sourcepub fn postgres(self, connection_string: impl Into<String>) -> Self
pub fn postgres(self, connection_string: impl Into<String>) -> Self
Configure PostgreSQL storage.
§Example
use auth_framework::prelude::*;
let builder = AuthFramework::builder()
.with_storage().postgres("postgresql://user:pass@localhost/db").done();Sourcepub fn postgres_from_env(self) -> Self
pub fn postgres_from_env(self) -> Self
Configure PostgreSQL storage from environment.
Reads DATABASE_URL from the environment.
§Example
use auth_framework::prelude::*;
let builder = AuthFramework::builder()
.with_storage().postgres_from_env().done();Sourcepub fn connection_pool_size(self, size: u32) -> Self
pub fn connection_pool_size(self, size: u32) -> Self
Set connection pool size.
§Example
use auth_framework::prelude::*;
let builder = AuthFramework::builder()
.with_storage().memory().connection_pool_size(20).done();Sourcepub fn done(self) -> AuthBuilder
pub fn done(self) -> AuthBuilder
Complete storage configuration and return to main builder.
Auto Trait Implementations§
impl Freeze for StorageBuilder
impl !RefUnwindSafe for StorageBuilder
impl Send for StorageBuilder
impl Sync for StorageBuilder
impl Unpin for StorageBuilder
impl UnsafeUnpin for StorageBuilder
impl !UnwindSafe for StorageBuilder
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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