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 { ... }
}