use crate::core::middleware::AuthMiddleware;
use crate::storage::file::File;
use reqwest_middleware::ClientWithMiddleware;
pub struct Bucket {
client: ClientWithMiddleware,
base_url: String,
name: String,
middleware: AuthMiddleware,
}
impl Bucket {
pub(crate) fn new(
client: ClientWithMiddleware,
base_url: String,
name: String,
middleware: AuthMiddleware,
) -> Self {
Self {
client,
base_url,
name,
middleware,
}
}
pub fn name(&self) -> &str {
&self.name
}
pub fn file(&self, name: &str) -> File {
File::new(
self.client.clone(),
self.base_url.clone(),
self.name.clone(),
name.to_string(),
self.middleware.clone(),
)
}
}