Trait lb_rs::DocumentService
source · pub trait DocumentService: Clone + Send + 'static {
// Required methods
fn insert(
&self,
id: &Uuid,
hmac: Option<&[u8; 32]>,
document: &AESEncrypted<Vec<u8>>,
) -> Result<(), SharedError>;
fn maybe_get(
&self,
id: &Uuid,
hmac: Option<&[u8; 32]>,
) -> Result<Option<AESEncrypted<Vec<u8>>>, SharedError>;
fn delete(
&self,
id: &Uuid,
hmac: Option<&[u8; 32]>,
) -> Result<(), SharedError>;
fn retain(
&self,
file_hmacs: HashSet<(&Uuid, &[u8; 32])>,
) -> Result<(), SharedError>;
// Provided method
fn get(
&self,
id: &Uuid,
hmac: Option<&[u8; 32]>,
) -> Result<AESEncrypted<Vec<u8>>, SharedError> { ... }
}Required Methods§
fn insert( &self, id: &Uuid, hmac: Option<&[u8; 32]>, document: &AESEncrypted<Vec<u8>>, ) -> Result<(), SharedError>
fn maybe_get( &self, id: &Uuid, hmac: Option<&[u8; 32]>, ) -> Result<Option<AESEncrypted<Vec<u8>>>, SharedError>
fn delete(&self, id: &Uuid, hmac: Option<&[u8; 32]>) -> Result<(), SharedError>
fn retain( &self, file_hmacs: HashSet<(&Uuid, &[u8; 32])>, ) -> Result<(), SharedError>
Provided Methods§
fn get( &self, id: &Uuid, hmac: Option<&[u8; 32]>, ) -> Result<AESEncrypted<Vec<u8>>, SharedError>
Object Safety§
This trait is not object safe.