aboutsummaryrefslogtreecommitdiff
path: root/src/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/api')
-rw-r--r--src/api/s3_bucket.rs20
-rw-r--r--src/api/s3_website.rs4
2 files changed, 10 insertions, 14 deletions
diff --git a/src/api/s3_bucket.rs b/src/api/s3_bucket.rs
index 24ec6b98..50aeb173 100644
--- a/src/api/s3_bucket.rs
+++ b/src/api/s3_bucket.rs
@@ -58,21 +58,17 @@ pub async fn handle_list_buckets(garage: &Garage, api_key: &Key) -> Result<Respo
let mut aliases = HashMap::new();
for bucket_id in ids.iter() {
- let bucket = garage.bucket_table.get(bucket_id, &EmptyKey).await?;
+ let bucket = garage.bucket_table.get(&EmptyKey, bucket_id).await?;
if let Some(bucket) = bucket {
- if let Deletable::Present(param) = bucket.state {
- for (alias, _, active) in param.aliases.items() {
- if *active {
- let alias_ent = garage.bucket_alias_table.get(&EmptyKey, alias).await?;
- if let Some(alias_ent) = alias_ent {
- if let Some(alias_bucket) = alias_ent.state.get() {
- if alias_bucket == bucket_id {
- aliases.insert(alias_ent.name().to_string(), *bucket_id);
- }
- }
- }
+ for (alias, _, _active) in bucket.aliases().iter().filter(|(_, _, active)| *active) {
+ let alias_opt = garage.bucket_alias_table.get(&EmptyKey, alias).await?;
+ if let Some(alias_ent) = alias_opt {
+ if *alias_ent.state.get() == Some(*bucket_id) {
+ aliases.insert(alias_ent.name().to_string(), *bucket_id);
}
}
+ }
+ if let Deletable::Present(param) = bucket.state {
buckets_by_id.insert(bucket_id, param);
}
}
diff --git a/src/api/s3_website.rs b/src/api/s3_website.rs
index 8686b832..e141e449 100644
--- a/src/api/s3_website.rs
+++ b/src/api/s3_website.rs
@@ -20,7 +20,7 @@ pub async fn handle_delete_website(
) -> Result<Response<Body>, Error> {
let mut bucket = garage
.bucket_table
- .get(&bucket_id, &EmptyKey)
+ .get(&EmptyKey, &bucket_id)
.await?
.ok_or(Error::NotFound)?;
@@ -48,7 +48,7 @@ pub async fn handle_put_website(
let mut bucket = garage
.bucket_table
- .get(&bucket_id, &EmptyKey)
+ .get(&EmptyKey, &bucket_id)
.await?
.ok_or(Error::NotFound)?;