pub struct GoogleCloudFileStore {
bucket_name: String,
client: Client,
pub cache_files_path: PathBuf,
}
Fields§
§bucket_name: String
§client: Client
§cache_files_path: PathBuf
Implementations§
Source§impl GoogleCloudFileStore
impl GoogleCloudFileStore
Sourcepub fn new(bucket_name: String) -> UtilResult<Self>
pub fn new(bucket_name: String) -> UtilResult<Self>
Needs to not be async because of how this is used in worker factories
Trait Implementations§
Source§impl FileStore for GoogleCloudFileStore
impl FileStore for GoogleCloudFileStore
Source§fn upload<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
path: &'life1 Path,
file: Vec<u8>,
mime_type: &'life2 str,
) -> Pin<Box<dyn Future<Output = UtilResult<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn upload<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
path: &'life1 Path,
file: Vec<u8>,
mime_type: &'life2 str,
) -> Pin<Box<dyn Future<Output = UtilResult<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Upload a file that’s in memory to a path.
Source§fn download<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 Path,
) -> Pin<Box<dyn Future<Output = UtilResult<Vec<u8>>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn download<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 Path,
) -> Pin<Box<dyn Future<Output = UtilResult<Vec<u8>>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Download a file to memory.
Source§fn get_direct_download_url<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 Path,
) -> Pin<Box<dyn Future<Output = UtilResult<String>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_direct_download_url<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 Path,
) -> Pin<Box<dyn Future<Output = UtilResult<String>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get a url that can be used to download the file without authentication for a while.
In most cases you probably want to use get_download_url() instead.
Source§fn delete<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 Path,
) -> Pin<Box<dyn Future<Output = UtilResult<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 Path,
) -> Pin<Box<dyn Future<Output = UtilResult<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Delete a file.
Source§fn upload_stream<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
path: &'life1 Path,
contents: GenericPayload,
mime_type: &'life2 str,
) -> Pin<Box<dyn Future<Output = UtilResult<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn upload_stream<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
path: &'life1 Path,
contents: GenericPayload,
mime_type: &'life2 str,
) -> Pin<Box<dyn Future<Output = UtilResult<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Upload a file without loading the whole file to memory
Source§fn download_stream<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 Path,
) -> Pin<Box<dyn Future<Output = UtilResult<Box<dyn Stream<Item = Result<Bytes>>>>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn download_stream<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 Path,
) -> Pin<Box<dyn Future<Output = UtilResult<Box<dyn Stream<Item = Result<Bytes>>>>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Download a file without loading the whole file to memory.
Source§fn get_cache_files_folder_path(&self) -> UtilResult<&Path>
fn get_cache_files_folder_path(&self) -> UtilResult<&Path>
This function returns a path to a folder where downloaded files can be cached.
Source§fn get_download_url(
&self,
path: &Path,
app_conf: &ApplicationConfiguration,
) -> String
fn get_download_url( &self, path: &Path, app_conf: &ApplicationConfiguration, ) -> String
Get a url for a file in FileStore that can be used to access the resource.
fn fetch_file_content_or_use_filesystem_cache<'life0, 'life1, 'async_trait>(
&'life0 self,
file_path: &'life1 Path,
) -> Pin<Box<dyn Future<Output = UtilResult<Vec<u8>>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Auto Trait Implementations§
impl Freeze for GoogleCloudFileStore
impl !RefUnwindSafe for GoogleCloudFileStore
impl Send for GoogleCloudFileStore
impl Sync for GoogleCloudFileStore
impl Unpin for GoogleCloudFileStore
impl !UnwindSafe for GoogleCloudFileStore
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more