pub trait Entity: EntityBase + PrimaryKey {
// Required methods
fn get<'life0, 'life1, 'async_trait>(
conn: &'life0 mut Self::ConnectionType,
key: &'life1 Self::PrimaryKey,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<Option<Self>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn count<'life0, 'async_trait>(
conn: &'life0 mut Self::ConnectionType,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<u32>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn load_all<'life0, 'async_trait>(
conn: &'life0 mut Self::ConnectionType,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<Vec<Self>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}Expand description
Something which can be stored in our database.
It has a primary key, which uniquely identifies it.
Required Methods§
Sourcefn get<'life0, 'life1, 'async_trait>(
conn: &'life0 mut Self::ConnectionType,
key: &'life1 Self::PrimaryKey,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<Option<Self>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get<'life0, 'life1, 'async_trait>(
conn: &'life0 mut Self::ConnectionType,
key: &'life1 Self::PrimaryKey,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<Option<Self>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get an entity by its primary key.
For entites whose primary key has a distinct borrowed type, it is best to implement this as a direct passthrough:
ⓘ
async fn get(conn: &mut Self::ConnectionType, key: &Self::PrimaryKey) -> CoreCryptoKeystoreResult<Option<Self>> {
Self::get_borrowed(conn, key).await
}Sourcefn count<'life0, 'async_trait>(
conn: &'life0 mut Self::ConnectionType,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<u32>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn count<'life0, 'async_trait>(
conn: &'life0 mut Self::ConnectionType,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<u32>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Count the number of entities of this type in the database.
Sourcefn load_all<'life0, 'async_trait>(
conn: &'life0 mut Self::ConnectionType,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<Vec<Self>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn load_all<'life0, 'async_trait>(
conn: &'life0 mut Self::ConnectionType,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<Vec<Self>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Retrieve all entities of this type from the database.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.