pub trait ModelAccessor<E: QueryEngine>: Send + Sync {
type Model: Model;
// Required methods
fn engine(&self) -> &E;
fn find_many(&self) -> FindManyOperation<E, Self::Model>;
fn find_unique(&self) -> FindUniqueOperation<E, Self::Model>;
fn find_first(&self) -> FindFirstOperation<E, Self::Model>;
fn create(
&self,
data: <Self::Model as CreateData>::Data,
) -> CreateOperation<E, Self::Model>
where Self::Model: CreateData;
fn update(&self) -> UpdateOperation<E, Self::Model>;
fn delete(&self) -> DeleteOperation<E, Self::Model>;
fn upsert(
&self,
create: <Self::Model as CreateData>::Data,
update: <Self::Model as UpdateData>::Data,
) -> UpsertOperation<E, Self::Model>
where Self::Model: CreateData + UpdateData;
fn count(&self) -> CountOperation<E, Self::Model>;
}Expand description
A model accessor that provides query operations.
This is typically generated by the proc-macro for each model.
Required Associated Types§
Required Methods§
Sourcefn find_many(&self) -> FindManyOperation<E, Self::Model>
fn find_many(&self) -> FindManyOperation<E, Self::Model>
Start a find_many query.
Sourcefn find_unique(&self) -> FindUniqueOperation<E, Self::Model>
fn find_unique(&self) -> FindUniqueOperation<E, Self::Model>
Start a find_unique query.
Sourcefn find_first(&self) -> FindFirstOperation<E, Self::Model>
fn find_first(&self) -> FindFirstOperation<E, Self::Model>
Start a find_first query.
Sourcefn create(
&self,
data: <Self::Model as CreateData>::Data,
) -> CreateOperation<E, Self::Model>where
Self::Model: CreateData,
fn create(
&self,
data: <Self::Model as CreateData>::Data,
) -> CreateOperation<E, Self::Model>where
Self::Model: CreateData,
Start a create operation.
Sourcefn update(&self) -> UpdateOperation<E, Self::Model>
fn update(&self) -> UpdateOperation<E, Self::Model>
Start an update operation.
Sourcefn delete(&self) -> DeleteOperation<E, Self::Model>
fn delete(&self) -> DeleteOperation<E, Self::Model>
Start a delete operation.
Sourcefn upsert(
&self,
create: <Self::Model as CreateData>::Data,
update: <Self::Model as UpdateData>::Data,
) -> UpsertOperation<E, Self::Model>
fn upsert( &self, create: <Self::Model as CreateData>::Data, update: <Self::Model as UpdateData>::Data, ) -> UpsertOperation<E, Self::Model>
Start an upsert operation.
Sourcefn count(&self) -> CountOperation<E, Self::Model>
fn count(&self) -> CountOperation<E, Self::Model>
Count records matching a filter.