Skip to main content

DbAdapter

Trait DbAdapter 

Source
pub trait DbAdapter: Send + Sync {
Show 14 methods // Required methods fn id(&self) -> &str; fn create<'a>(&'a self, query: Create) -> AdapterFuture<'a, DbRecord>; fn find_one<'a>( &'a self, query: FindOne, ) -> AdapterFuture<'a, Option<DbRecord>>; fn find_many<'a>( &'a self, query: FindMany, ) -> AdapterFuture<'a, Vec<DbRecord>>; fn count<'a>(&'a self, query: Count) -> AdapterFuture<'a, u64>; fn update<'a>( &'a self, query: Update, ) -> AdapterFuture<'a, Option<DbRecord>>; fn update_many<'a>(&'a self, query: UpdateMany) -> AdapterFuture<'a, u64>; fn delete<'a>(&'a self, query: Delete) -> AdapterFuture<'a, ()>; fn delete_many<'a>(&'a self, query: DeleteMany) -> AdapterFuture<'a, u64>; fn transaction<'a>( &'a self, callback: TransactionCallback<'a>, ) -> AdapterFuture<'a, ()>; // Provided methods fn capabilities(&self) -> AdapterCapabilities { ... } fn create_schema<'a>( &'a self, _schema: &'a DbSchema, _file: Option<&'a str>, ) -> AdapterFuture<'a, Option<SchemaCreation>> { ... } fn run_migrations<'a>( &'a self, _schema: &'a DbSchema, ) -> AdapterFuture<'a, ()> { ... } fn run_plugin_migrations<'a>( &'a self, _migrations: &'a [PluginMigration], ) -> AdapterFuture<'a, ()> { ... }
}
Expand description

Async database adapter contract used by core authentication behavior.

Concrete database integrations should live outside rustauth-core and implement this trait without forcing their driver or ORM dependencies into the core crate.

Required Methods§

Source

fn id(&self) -> &str

Source

fn create<'a>(&'a self, query: Create) -> AdapterFuture<'a, DbRecord>

Source

fn find_one<'a>(&'a self, query: FindOne) -> AdapterFuture<'a, Option<DbRecord>>

Source

fn find_many<'a>(&'a self, query: FindMany) -> AdapterFuture<'a, Vec<DbRecord>>

Source

fn count<'a>(&'a self, query: Count) -> AdapterFuture<'a, u64>

Source

fn update<'a>(&'a self, query: Update) -> AdapterFuture<'a, Option<DbRecord>>

Source

fn update_many<'a>(&'a self, query: UpdateMany) -> AdapterFuture<'a, u64>

Source

fn delete<'a>(&'a self, query: Delete) -> AdapterFuture<'a, ()>

Source

fn delete_many<'a>(&'a self, query: DeleteMany) -> AdapterFuture<'a, u64>

Source

fn transaction<'a>( &'a self, callback: TransactionCallback<'a>, ) -> AdapterFuture<'a, ()>

Provided Methods§

Source

fn capabilities(&self) -> AdapterCapabilities

Source

fn create_schema<'a>( &'a self, _schema: &'a DbSchema, _file: Option<&'a str>, ) -> AdapterFuture<'a, Option<SchemaCreation>>

Source

fn run_migrations<'a>(&'a self, _schema: &'a DbSchema) -> AdapterFuture<'a, ()>

Source

fn run_plugin_migrations<'a>( &'a self, _migrations: &'a [PluginMigration], ) -> AdapterFuture<'a, ()>

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<A> DbAdapter for &A
where A: DbAdapter + ?Sized,

Source§

fn id(&self) -> &str

Source§

fn capabilities(&self) -> AdapterCapabilities

Source§

fn create<'a>(&'a self, query: Create) -> AdapterFuture<'a, DbRecord>

Source§

fn find_one<'a>(&'a self, query: FindOne) -> AdapterFuture<'a, Option<DbRecord>>

Source§

fn find_many<'a>(&'a self, query: FindMany) -> AdapterFuture<'a, Vec<DbRecord>>

Source§

fn count<'a>(&'a self, query: Count) -> AdapterFuture<'a, u64>

Source§

fn update<'a>(&'a self, query: Update) -> AdapterFuture<'a, Option<DbRecord>>

Source§

fn update_many<'a>(&'a self, query: UpdateMany) -> AdapterFuture<'a, u64>

Source§

fn delete<'a>(&'a self, query: Delete) -> AdapterFuture<'a, ()>

Source§

fn delete_many<'a>(&'a self, query: DeleteMany) -> AdapterFuture<'a, u64>

Source§

fn transaction<'a>( &'a self, callback: TransactionCallback<'a>, ) -> AdapterFuture<'a, ()>

Source§

fn create_schema<'a>( &'a self, schema: &'a DbSchema, file: Option<&'a str>, ) -> AdapterFuture<'a, Option<SchemaCreation>>

Source§

fn run_migrations<'a>(&'a self, schema: &'a DbSchema) -> AdapterFuture<'a, ()>

Source§

fn run_plugin_migrations<'a>( &'a self, migrations: &'a [PluginMigration], ) -> AdapterFuture<'a, ()>

Source§

impl<A> DbAdapter for Arc<A>
where A: DbAdapter + ?Sized,

Source§

fn id(&self) -> &str

Source§

fn capabilities(&self) -> AdapterCapabilities

Source§

fn create<'a>(&'a self, query: Create) -> AdapterFuture<'a, DbRecord>

Source§

fn find_one<'a>(&'a self, query: FindOne) -> AdapterFuture<'a, Option<DbRecord>>

Source§

fn find_many<'a>(&'a self, query: FindMany) -> AdapterFuture<'a, Vec<DbRecord>>

Source§

fn count<'a>(&'a self, query: Count) -> AdapterFuture<'a, u64>

Source§

fn update<'a>(&'a self, query: Update) -> AdapterFuture<'a, Option<DbRecord>>

Source§

fn update_many<'a>(&'a self, query: UpdateMany) -> AdapterFuture<'a, u64>

Source§

fn delete<'a>(&'a self, query: Delete) -> AdapterFuture<'a, ()>

Source§

fn delete_many<'a>(&'a self, query: DeleteMany) -> AdapterFuture<'a, u64>

Source§

fn transaction<'a>( &'a self, callback: TransactionCallback<'a>, ) -> AdapterFuture<'a, ()>

Source§

fn create_schema<'a>( &'a self, schema: &'a DbSchema, file: Option<&'a str>, ) -> AdapterFuture<'a, Option<SchemaCreation>>

Source§

fn run_migrations<'a>(&'a self, schema: &'a DbSchema) -> AdapterFuture<'a, ()>

Source§

fn run_plugin_migrations<'a>( &'a self, migrations: &'a [PluginMigration], ) -> AdapterFuture<'a, ()>

Source§

impl<A> DbAdapter for Box<A>
where A: DbAdapter + ?Sized,

Source§

fn id(&self) -> &str

Source§

fn capabilities(&self) -> AdapterCapabilities

Source§

fn create<'a>(&'a self, query: Create) -> AdapterFuture<'a, DbRecord>

Source§

fn find_one<'a>(&'a self, query: FindOne) -> AdapterFuture<'a, Option<DbRecord>>

Source§

fn find_many<'a>(&'a self, query: FindMany) -> AdapterFuture<'a, Vec<DbRecord>>

Source§

fn count<'a>(&'a self, query: Count) -> AdapterFuture<'a, u64>

Source§

fn update<'a>(&'a self, query: Update) -> AdapterFuture<'a, Option<DbRecord>>

Source§

fn update_many<'a>(&'a self, query: UpdateMany) -> AdapterFuture<'a, u64>

Source§

fn delete<'a>(&'a self, query: Delete) -> AdapterFuture<'a, ()>

Source§

fn delete_many<'a>(&'a self, query: DeleteMany) -> AdapterFuture<'a, u64>

Source§

fn transaction<'a>( &'a self, callback: TransactionCallback<'a>, ) -> AdapterFuture<'a, ()>

Source§

fn create_schema<'a>( &'a self, schema: &'a DbSchema, file: Option<&'a str>, ) -> AdapterFuture<'a, Option<SchemaCreation>>

Source§

fn run_migrations<'a>(&'a self, schema: &'a DbSchema) -> AdapterFuture<'a, ()>

Source§

fn run_plugin_migrations<'a>( &'a self, migrations: &'a [PluginMigration], ) -> AdapterFuture<'a, ()>

Implementors§