use revolt_result::Result;
use crate::FileHash;
#[cfg(feature = "mongodb")]
mod mongodb;
mod reference;
#[async_trait]
pub trait AbstractAttachmentHashes: Sync + Send {
async fn insert_attachment_hash(&self, hash: &FileHash) -> Result<()>;
async fn fetch_attachment_hash(&self, hash: &str) -> Result<FileHash>;
async fn set_attachment_hash_nonce(&self, hash: &str, nonce: &str) -> Result<()>;
async fn set_attachment_hash_animated(&self, hash: &str, animated: bool) -> Result<()>;
async fn delete_attachment_hash(&self, id: &str) -> Result<()>;
}