ModelAccessor

Trait ModelAccessor 

Source
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§

Source

type Model: Model

The model type.

Required Methods§

Source

fn engine(&self) -> &E

Get the query engine.

Source

fn find_many(&self) -> FindManyOperation<E, Self::Model>

Start a find_many query.

Source

fn find_unique(&self) -> FindUniqueOperation<E, Self::Model>

Start a find_unique query.

Source

fn find_first(&self) -> FindFirstOperation<E, Self::Model>

Start a find_first query.

Source

fn create( &self, data: <Self::Model as CreateData>::Data, ) -> CreateOperation<E, Self::Model>
where Self::Model: CreateData,

Start a create operation.

Source

fn update(&self) -> UpdateOperation<E, Self::Model>

Start an update operation.

Source

fn delete(&self) -> DeleteOperation<E, Self::Model>

Start a delete operation.

Source

fn upsert( &self, create: <Self::Model as CreateData>::Data, update: <Self::Model as UpdateData>::Data, ) -> UpsertOperation<E, Self::Model>
where Self::Model: CreateData + UpdateData,

Start an upsert operation.

Source

fn count(&self) -> CountOperation<E, Self::Model>

Count records matching a filter.

Implementors§