diff options
Diffstat (limited to 'kittybox-rs/src/media/storage')
-rw-r--r-- | kittybox-rs/src/media/storage/file.rs | 14 | ||||
-rw-r--r-- | kittybox-rs/src/media/storage/mod.rs | 13 |
2 files changed, 21 insertions, 6 deletions
diff --git a/kittybox-rs/src/media/storage/file.rs b/kittybox-rs/src/media/storage/file.rs index 8c0ddf0..ea1f010 100644 --- a/kittybox-rs/src/media/storage/file.rs +++ b/kittybox-rs/src/media/storage/file.rs @@ -22,16 +22,22 @@ impl From<tokio::io::Error> for MediaStoreError { #[async_trait] impl MediaStore for FileStore { async fn write_streaming( - &self, domain: url::Host, filename: &str, - content: axum::extract::multipart::Field<'_> + &self, + domain: url::Host, + filename: &str, + content: axum::extract::multipart::Field<'_>, ) -> Result<()> { todo!() } - async fn read_streaming(&self, domain: url::Host, filename: &str) -> Result<tokio_util::io::ReaderStream<Box<dyn tokio::io::AsyncRead>>> { + async fn read_streaming( + &self, + domain: url::Host, + filename: &str, + ) -> Result<tokio_util::io::ReaderStream<Box<dyn tokio::io::AsyncRead>>> { todo!() } - + async fn write(&self, domain: url::Host, filename: &str, content: &[u8]) -> Result<()> { let path = self.base.join(format!("{}/{}", domain, filename)); diff --git a/kittybox-rs/src/media/storage/mod.rs b/kittybox-rs/src/media/storage/mod.rs index e9b01f9..ba880ab 100644 --- a/kittybox-rs/src/media/storage/mod.rs +++ b/kittybox-rs/src/media/storage/mod.rs @@ -45,9 +45,18 @@ pub type Result<T> = std::result::Result<T, MediaStoreError>; #[async_trait] pub trait MediaStore: 'static + Send + Sync + Clone { - async fn write_streaming(&self, domain: url::Host, filename: &str, content: axum::extract::multipart::Field<'_>) -> Result<()>; + async fn write_streaming( + &self, + domain: url::Host, + filename: &str, + content: axum::extract::multipart::Field<'_>, + ) -> Result<()>; async fn write(&self, domain: url::Host, filename: &str, content: &[u8]) -> Result<()>; - async fn read_streaming(&self, domain: url::Host, filename: &str) -> Result<tokio_util::io::ReaderStream<Box<dyn tokio::io::AsyncRead>>>; + async fn read_streaming( + &self, + domain: url::Host, + filename: &str, + ) -> Result<tokio_util::io::ReaderStream<Box<dyn tokio::io::AsyncRead>>>; async fn read(&self, domain: url::Host, filename: &str) -> Result<Vec<u8>>; async fn delete(&self, domain: url::Host, filename: &str) -> Result<()>; } |