pub trait PersistenceHandler {
// Required methods
fn persist_resource<'life0, 'async_trait>(
&'life0 self,
id: DieselUlid,
shared_id: DieselUlid,
object_data: Resource
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn persist_pubkey<'life0, 'async_trait>(
&'life0 self,
pks: Vec<Pubkey>
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn persist_user<'life0, 'async_trait>(
&'life0 self,
id: DieselUlid,
user: User
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_resource<'life0, 'async_trait>(
&'life0 self,
id: DieselUlid
) -> Pin<Box<dyn Future<Output = Result<Resource>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_resources<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Vec<Resource>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_user<'life0, 'async_trait>(
&'life0 self,
id: DieselUlid
) -> Pin<Box<dyn Future<Output = Result<User>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_users<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Vec<User>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}