pub enum DatabaseAdapter {
Sqlite(SqliteDatabase),
D1(D1Database),
Supabase(SupabaseDatabase),
}Expand description
Unified database adapter — dispatches to SQLite, D1, or Supabase
Variants§
Implementations§
Source§impl DatabaseAdapter
impl DatabaseAdapter
Sourcepub async fn get_collection(&self, name: &str) -> Option<Vec<Value>>
pub async fn get_collection(&self, name: &str) -> Option<Vec<Value>>
Get all items from a collection (with optional query parameters)
Sourcepub async fn query_collection(
&self,
name: &str,
query: &CollectionQuery,
) -> Option<Vec<Value>>
pub async fn query_collection( &self, name: &str, query: &CollectionQuery, ) -> Option<Vec<Value>>
Get items with query options (sort, filter, search, limit, offset)
Sourcepub async fn find_by(
&self,
collection: &str,
field: &str,
value: &Value,
) -> Vec<Value>
pub async fn find_by( &self, collection: &str, field: &str, value: &Value, ) -> Vec<Value>
Find items by a field value
Sourcepub async fn find_one_by(
&self,
collection: &str,
field: &str,
value: &Value,
) -> Option<Value>
pub async fn find_one_by( &self, collection: &str, field: &str, value: &Value, ) -> Option<Value>
Find a single item by field value
Sourcepub async fn create(&self, collection: &str, item: Value) -> Result<Value>
pub async fn create(&self, collection: &str, item: Value) -> Result<Value>
Create an item in a collection
Sourcepub async fn update(
&self,
collection: &str,
id: &Value,
updates: Value,
) -> Result<Option<Value>>
pub async fn update( &self, collection: &str, id: &Value, updates: Value, ) -> Result<Option<Value>>
Update an item by ID
Sourcepub async fn as_context(&self) -> HashMap<String, Value>
pub async fn as_context(&self) -> HashMap<String, Value>
Get all data as a template context
Sourcepub async fn set_collection(&self, name: &str, items: Vec<Value>) -> Result<()>
pub async fn set_collection(&self, name: &str, items: Vec<Value>) -> Result<()>
Replace an entire collection
Sourcepub async fn load_collection(
&self,
_name: &str,
_path: impl AsRef<Path>,
) -> Result<()>
pub async fn load_collection( &self, _name: &str, _path: impl AsRef<Path>, ) -> Result<()>
Load collection from a file path (no-op for database backends)
Sourcepub async fn atomic_modify<F>(&self, key: &str, f: F) -> Result<Value>
pub async fn atomic_modify<F>(&self, key: &str, f: F) -> Result<Value>
Atomically modify a key-value
Trait Implementations§
Source§impl Clone for DatabaseAdapter
impl Clone for DatabaseAdapter
Source§fn clone(&self) -> DatabaseAdapter
fn clone(&self) -> DatabaseAdapter
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 moreAuto Trait Implementations§
impl !RefUnwindSafe for DatabaseAdapter
impl !UnwindSafe for DatabaseAdapter
impl Freeze for DatabaseAdapter
impl Send for DatabaseAdapter
impl Sync for DatabaseAdapter
impl Unpin for DatabaseAdapter
impl UnsafeUnpin for DatabaseAdapter
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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