use super::Error;
use async_trait::async_trait;
use std::path::Path;
use tempfile::NamedTempFile;

#[async_trait]
pub trait ObjectStore: Sync + Send {
    async fn del(&self, key: &str) -> Result<(), Error>;
    async fn get(&self, key: &str) -> Result<NamedTempFile, Error>;
    async fn put(&self, key: &str, path: &Path) -> Result<(), Error>;
}
