pub trait GenericDaoMapper {
    type P: Primary + Send;
    type E: Entity + Send + Clone;
    type S: Selection + Send;
    type SE: SelectedEntity + Send + Unpin;
    type L: Location + Send;
    type M: Mutation + Send;

    // Required method
    fn get_pool<'a>(&'a self) -> &'a AnyPool;

    // Provided methods
    fn try_select<'life0, 'async_trait>(
        &'life0 self,
        primary: Self::P,
        selection: Self::S
    ) -> Pin<Box<dyn Future<Output = Result<Option<Self::SE>, Error>> + Send + 'async_trait>>
       where Self: Sync + 'async_trait,
             'life0: 'async_trait { ... }
    fn try_create<'life0, 'async_trait>(
        &'life0 self,
        entity: Self::E
    ) -> Pin<Box<dyn Future<Output = Result<Self::E, Error>> + Send + 'async_trait>>
       where Self: Sync + 'async_trait,
             'life0: 'async_trait { ... }
    fn try_insert<'life0, 'async_trait>(
        &'life0 self,
        entity: Self::E
    ) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>
       where Self: Sync + 'async_trait,
             'life0: 'async_trait { ... }
    fn try_upsert<'life0, 'async_trait>(
        &'life0 self,
        entity: Self::E
    ) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>
       where Self: Sync + 'async_trait,
             'life0: 'async_trait { ... }
    fn try_update<'life0, 'async_trait>(
        &'life0 self,
        entity: Self::E
    ) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>
       where Self: Sync + 'async_trait,
             'life0: 'async_trait { ... }
    fn remove<'life0, 'async_trait>(
        &'life0 self,
        primary: Self::P
    ) -> Pin<Box<dyn Future<Output = Result<Self::E, Error>> + Send + 'async_trait>>
       where Self: Sync + 'async_trait,
             'life0: 'async_trait { ... }
    fn try_delete<'life0, 'async_trait>(
        &'life0 self,
        primary: Self::P
    ) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>
       where Self: Sync + 'async_trait,
             'life0: 'async_trait { ... }
    fn try_search<'life0, 'async_trait>(
        &'life0 self,
        location: Self::L,
        selection: Self::S
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Self::SE>, Error>> + Send + 'async_trait>>
       where Self: Sync + 'async_trait,
             'life0: 'async_trait { ... }
    fn try_search_paged<'life0, 'async_trait>(
        &'life0 self,
        location: Self::L,
        selection: Self::S
    ) -> Pin<Box<dyn Future<Output = Result<PagedList<Self::SE>, Error>> + Send + 'async_trait>>
       where Self: Sync + 'async_trait,
             'life0: 'async_trait { ... }
    fn try_purify<'life0, 'async_trait>(
        &'life0 self,
        location: Self::L
    ) -> Pin<Box<dyn Future<Output = Result<usize, Error>> + Send + 'async_trait>>
       where Self: Sync + 'async_trait,
             'life0: 'async_trait { ... }
    fn try_change<'life0, 'async_trait>(
        &'life0 self,
        location: Self::L,
        mutation: Self::M
    ) -> Pin<Box<dyn Future<Output = Result<usize, Error>> + Send + 'async_trait>>
       where Self: Sync + 'async_trait,
             'life0: 'async_trait { ... }
}

Required Associated Types§

Required Methods§

source

fn get_pool<'a>(&'a self) -> &'a AnyPool

Provided Methods§

source

fn try_select<'life0, 'async_trait>( &'life0 self, primary: Self::P, selection: Self::S ) -> Pin<Box<dyn Future<Output = Result<Option<Self::SE>, Error>> + Send + 'async_trait>>where Self: Sync + 'async_trait, 'life0: 'async_trait,

source

fn try_create<'life0, 'async_trait>( &'life0 self, entity: Self::E ) -> Pin<Box<dyn Future<Output = Result<Self::E, Error>> + Send + 'async_trait>>where Self: Sync + 'async_trait, 'life0: 'async_trait,

source

fn try_insert<'life0, 'async_trait>( &'life0 self, entity: Self::E ) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>where Self: Sync + 'async_trait, 'life0: 'async_trait,

source

fn try_upsert<'life0, 'async_trait>( &'life0 self, entity: Self::E ) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>where Self: Sync + 'async_trait, 'life0: 'async_trait,

source

fn try_update<'life0, 'async_trait>( &'life0 self, entity: Self::E ) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>where Self: Sync + 'async_trait, 'life0: 'async_trait,

source

fn remove<'life0, 'async_trait>( &'life0 self, primary: Self::P ) -> Pin<Box<dyn Future<Output = Result<Self::E, Error>> + Send + 'async_trait>>where Self: Sync + 'async_trait, 'life0: 'async_trait,

source

fn try_delete<'life0, 'async_trait>( &'life0 self, primary: Self::P ) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>where Self: Sync + 'async_trait, 'life0: 'async_trait,

source

fn try_search_paged<'life0, 'async_trait>( &'life0 self, location: Self::L, selection: Self::S ) -> Pin<Box<dyn Future<Output = Result<PagedList<Self::SE>, Error>> + Send + 'async_trait>>where Self: Sync + 'async_trait, 'life0: 'async_trait,

source

fn try_purify<'life0, 'async_trait>( &'life0 self, location: Self::L ) -> Pin<Box<dyn Future<Output = Result<usize, Error>> + Send + 'async_trait>>where Self: Sync + 'async_trait, 'life0: 'async_trait,

source

fn try_change<'life0, 'async_trait>( &'life0 self, location: Self::L, mutation: Self::M ) -> Pin<Box<dyn Future<Output = Result<usize, Error>> + Send + 'async_trait>>where Self: Sync + 'async_trait, 'life0: 'async_trait,

Implementors§