pub enum FileStorage {
Local(LocalStorage),
S3(S3Storage),
}Expand description
File storage backend
Variants§
Implementations§
Source§impl FileStorage
impl FileStorage
Sourcepub async fn new(config: &FileStorageConfig) -> Result<Self>
pub async fn new(config: &FileStorageConfig) -> Result<Self>
Create a new file storage instance
Sourcepub async fn store(&self, filename: &str, content: &[u8]) -> Result<String>
pub async fn store(&self, filename: &str, content: &[u8]) -> Result<String>
Store a file and return its ID
Sourcepub async fn store_with_purpose(
&self,
filename: &str,
content: &[u8],
purpose: Option<&str>,
) -> Result<String>
pub async fn store_with_purpose( &self, filename: &str, content: &[u8], purpose: Option<&str>, ) -> Result<String>
Store a file with optional OpenAI purpose metadata and return its ID
Sourcepub async fn metadata(&self, file_id: &str) -> Result<FileMetadata>
pub async fn metadata(&self, file_id: &str) -> Result<FileMetadata>
Get file metadata
Sourcepub async fn list(
&self,
prefix: Option<&str>,
limit: Option<usize>,
) -> Result<Vec<String>>
pub async fn list( &self, prefix: Option<&str>, limit: Option<usize>, ) -> Result<Vec<String>>
List files with pagination
Sourcepub async fn health_check(&self) -> Result<()>
pub async fn health_check(&self) -> Result<()>
Health check
Trait Implementations§
Source§impl Clone for FileStorage
impl Clone for FileStorage
Auto Trait Implementations§
impl !RefUnwindSafe for FileStorage
impl !UnwindSafe for FileStorage
impl Freeze for FileStorage
impl Send for FileStorage
impl Sync for FileStorage
impl Unpin for FileStorage
impl UnsafeUnpin for FileStorage
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
Source§impl<T> BudgetAwareRouting for T
impl<T> BudgetAwareRouting for T
Source§fn filter_by_budget(
&self,
providers: Vec<String>,
budget_router: &BudgetAwareRouter,
) -> Vec<String>
fn filter_by_budget( &self, providers: Vec<String>, budget_router: &BudgetAwareRouter, ) -> Vec<String>
Filter providers based on budget availability
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.