pub trait StorageBackend:
Clone
+ Send
+ Sync
+ 'static {
// Required methods
fn save<'a>(
&'a self,
file: &'a UploadedFile,
) -> Pin<Box<dyn Future<Output = Result<SavedFile, FileStorageError>> + Send + 'a>>;
fn save_as<'a>(
&'a self,
file: &'a UploadedFile,
name: StorageName,
) -> Pin<Box<dyn Future<Output = Result<SavedFile, FileStorageError>> + Send + 'a>>;
fn open<'a>(
&'a self,
name: &'a StorageName,
) -> Pin<Box<dyn Future<Output = Result<File, FileStorageError>> + Send + 'a>>;
fn delete<'a>(
&'a self,
name: &'a StorageName,
) -> Pin<Box<dyn Future<Output = Result<(), FileStorageError>> + Send + 'a>>;
fn url(&self, name: &StorageName) -> Option<String>;
}Required Methods§
fn save<'a>( &'a self, file: &'a UploadedFile, ) -> Pin<Box<dyn Future<Output = Result<SavedFile, FileStorageError>> + Send + 'a>>
fn save_as<'a>( &'a self, file: &'a UploadedFile, name: StorageName, ) -> Pin<Box<dyn Future<Output = Result<SavedFile, FileStorageError>> + Send + 'a>>
fn open<'a>( &'a self, name: &'a StorageName, ) -> Pin<Box<dyn Future<Output = Result<File, FileStorageError>> + Send + 'a>>
fn delete<'a>( &'a self, name: &'a StorageName, ) -> Pin<Box<dyn Future<Output = Result<(), FileStorageError>> + Send + 'a>>
fn url(&self, name: &StorageName) -> Option<String>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".