Skip to main content

StorageBackend

Trait StorageBackend 

Source
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§

Source

fn save<'a>( &'a self, file: &'a UploadedFile, ) -> Pin<Box<dyn Future<Output = Result<SavedFile, FileStorageError>> + Send + 'a>>

Source

fn save_as<'a>( &'a self, file: &'a UploadedFile, name: StorageName, ) -> Pin<Box<dyn Future<Output = Result<SavedFile, FileStorageError>> + Send + 'a>>

Source

fn open<'a>( &'a self, name: &'a StorageName, ) -> Pin<Box<dyn Future<Output = Result<File, FileStorageError>> + Send + 'a>>

Source

fn delete<'a>( &'a self, name: &'a StorageName, ) -> Pin<Box<dyn Future<Output = Result<(), FileStorageError>> + Send + 'a>>

Source

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".

Implementors§