Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
RWDai committed Jun 19, 2024
1 parent ed22ba5 commit 4c49592
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 16 deletions.
2 changes: 1 addition & 1 deletion tardis/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ lettre = { version = "0.11", features = [

# Object Storage
# rust-s3 = { version = "0.33", optional = true }
rust-s3 = { git = "https://github.com/tuist/rust-s3.git", rev = "3ee40ba", optional = true }
rust-s3 = { git = "https://github.com/tuist/rust-s3.git", rev = "55f2947", optional = true }
# rust-s3 = { path = "../../rust-s3/s3", optional = true }
anyhow = { version = "1.0", optional = true }

Expand Down
1 change: 1 addition & 0 deletions tardis/src/os.rs
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
pub use s3::serde_types;
pub mod os_client;
24 changes: 12 additions & 12 deletions tardis/src/os/os_client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -148,15 +148,15 @@ impl TardisOSClient {
self.get_client().object_delete_url(path, expire_sec, bucket_name).await
}

pub async fn get_lifecycle(&self, bucket_name: &str) -> TardisResult<BucketLifecycleConfiguration> {
pub async fn get_lifecycle(&self, bucket_name: Option<&str>) -> TardisResult<BucketLifecycleConfiguration> {
self.get_client().get_lifecycle(bucket_name).await
}

pub async fn put_lifecycle(&self, bucket_name: &str, config: BucketLifecycleConfiguration) -> TardisResult<()> {
pub async fn put_lifecycle(&self, bucket_name: Option<&str>, config: BucketLifecycleConfiguration) -> TardisResult<()> {
self.get_client().put_lifecycle(bucket_name, config).await
}

pub async fn delete_lifecycle(&self, bucket_name: &str) -> TardisResult<()> {
pub async fn delete_lifecycle(&self, bucket_name: Option<&str>) -> TardisResult<()> {
self.get_client().delete_lifecycle(bucket_name).await
}
}
Expand Down Expand Up @@ -191,11 +191,11 @@ trait TardisOSOperations {

async fn object_delete_url(&self, path: &str, expire_sec: u32, bucket_name: Option<&str>) -> TardisResult<String>;

async fn get_lifecycle(&self, bucket_name: &str) -> TardisResult<BucketLifecycleConfiguration>;
async fn get_lifecycle(&self, bucket_name: Option<&str>) -> TardisResult<BucketLifecycleConfiguration>;

async fn put_lifecycle(&self, bucket_name: &str, config: BucketLifecycleConfiguration) -> TardisResult<()>;
async fn put_lifecycle(&self, bucket_name: Option<&str>, config: BucketLifecycleConfiguration) -> TardisResult<()>;

async fn delete_lifecycle(&self, bucket_name: &str) -> TardisResult<()>;
async fn delete_lifecycle(&self, bucket_name: Option<&str>) -> TardisResult<()>;
}

#[async_trait]
Expand Down Expand Up @@ -416,19 +416,19 @@ impl TardisOSOperations for TardisOSS3Client {
Ok(self.get_bucket(bucket_name)?.presign_delete(path, expire_sec).await?)
}

async fn get_lifecycle(&self, bucket_name: &str) -> TardisResult<BucketLifecycleConfiguration> {
let bucket = self.get_bucket(Some(bucket_name))?;
async fn get_lifecycle(&self, bucket_name: Option<&str>) -> TardisResult<BucketLifecycleConfiguration> {
let bucket = self.get_bucket(bucket_name)?;
Ok(bucket.get_bucket_lifecycle().await?)
}

async fn put_lifecycle(&self, bucket_name: &str, config: BucketLifecycleConfiguration) -> TardisResult<()> {
let bucket = self.get_bucket(Some(bucket_name))?;
async fn put_lifecycle(&self, bucket_name: Option<&str>, config: BucketLifecycleConfiguration) -> TardisResult<()> {
let bucket = self.get_bucket(bucket_name)?;
bucket.put_bucket_lifecycle(config).await?;
Ok(())
}

async fn delete_lifecycle(&self, bucket_name: &str) -> TardisResult<()> {
let bucket = self.get_bucket(Some(bucket_name))?;
async fn delete_lifecycle(&self, bucket_name: Option<&str>) -> TardisResult<()> {
let bucket = self.get_bucket(bucket_name)?;
bucket.delete_bucket_lifecycle().await?;
Ok(())
}
Expand Down
7 changes: 4 additions & 3 deletions tardis/tests/test_os_client.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
use std::env;

use s3::serde_types::LifecycleFilter;
use tracing::info;

use tardis::basic::result::TardisResult;
Expand Down Expand Up @@ -33,16 +34,16 @@ async fn test_os_client() -> TardisResult<()> {

info!("object_create_url = {:?}", TardisFuns::os().object_exist("test/test1.txt", Some(bucket_name)).await?);

let put_config = s3::serde_types::BucketLifecycleConfiguration::new(vec![s3::serde_types::LifecycleRule::builder("Enabled".to_string())
.expiration(s3::serde_types::Expiration::new(None, Some(30), Some(true)))
let put_config = s3::serde_types::BucketLifecycleConfiguration::new(vec![s3::serde_types::LifecycleRule::builder("Enabled")
.expiration(s3::serde_types::Expiration::new(None, Some(30), None))
.filter(LifecycleFilter::new(None, None, None, Some("test".to_string()), None))
.build()]);
TardisFuns::os().put_lifecycle(bucket_name, put_config.clone()).await?;

let get_config = TardisFuns::os().get_lifecycle(bucket_name).await?;
info!("get_lifecycle_rule = {:?}", get_config);
assert_eq!(serde_json::to_string(&put_config).unwrap(), serde_json::to_string(&get_config).unwrap());

TardisFuns::os().delete_lifecycle(bucket_name).await?;
//info!("object_create_url = {}", TardisFuns::os().object_create_url("test/test2.txt", 1, Some(bucket_name.clone()))?);
//
//info!("object_delete_url = {}", TardisFuns::os().object_delete_url("test/test.txt", 60, Some(bucket_name.clone()))?);
Expand Down

0 comments on commit 4c49592

Please sign in to comment.