aboutsummaryrefslogtreecommitdiff
path: root/src/api/admin/bucket.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/admin/bucket.rs')
-rw-r--r--src/api/admin/bucket.rs36
1 files changed, 17 insertions, 19 deletions
diff --git a/src/api/admin/bucket.rs b/src/api/admin/bucket.rs
index ee7a5e12..0cc420ec 100644
--- a/src/api/admin/bucket.rs
+++ b/src/api/admin/bucket.rs
@@ -16,15 +16,7 @@ use garage_model::permission::*;
use garage_model::s3::mpu_table;
use garage_model::s3::object_table::*;
-use crate::admin::api::ApiBucketKeyPerm;
-use crate::admin::api::{
- AddBucketAliasRequest, AddBucketAliasResponse, AllowBucketKeyRequest, AllowBucketKeyResponse,
- ApiBucketQuotas, BucketKeyPermChangeRequest, BucketLocalAlias, CreateBucketRequest,
- CreateBucketResponse, DeleteBucketRequest, DeleteBucketResponse, DenyBucketKeyRequest,
- DenyBucketKeyResponse, GetBucketInfoKey, GetBucketInfoRequest, GetBucketInfoResponse,
- GetBucketInfoWebsiteResponse, ListBucketsRequest, ListBucketsResponse, ListBucketsResponseItem,
- RemoveBucketAliasRequest, RemoveBucketAliasResponse, UpdateBucketRequest, UpdateBucketResponse,
-};
+use crate::admin::api::*;
use crate::admin::error::*;
use crate::admin::EndpointHandler;
use crate::common_error::CommonError;
@@ -459,15 +451,18 @@ impl EndpointHandler for AddBucketAliasRequest {
let helper = garage.locked_helper().await;
- match self.access_key_id {
- None => {
+ match self.alias {
+ BucketAliasEnum::Global { global_alias } => {
helper
- .set_global_bucket_alias(bucket_id, &self.alias)
+ .set_global_bucket_alias(bucket_id, &global_alias)
.await?;
}
- Some(ak) => {
+ BucketAliasEnum::Local {
+ local_alias,
+ access_key_id,
+ } => {
helper
- .set_local_bucket_alias(bucket_id, &ak, &self.alias)
+ .set_local_bucket_alias(bucket_id, &access_key_id, &local_alias)
.await?;
}
}
@@ -487,15 +482,18 @@ impl EndpointHandler for RemoveBucketAliasRequest {
let helper = garage.locked_helper().await;
- match self.access_key_id {
- None => {
+ match self.alias {
+ BucketAliasEnum::Global { global_alias } => {
helper
- .unset_global_bucket_alias(bucket_id, &self.alias)
+ .unset_global_bucket_alias(bucket_id, &global_alias)
.await?;
}
- Some(ak) => {
+ BucketAliasEnum::Local {
+ local_alias,
+ access_key_id,
+ } => {
helper
- .unset_local_bucket_alias(bucket_id, &ak, &self.alias)
+ .unset_local_bucket_alias(bucket_id, &access_key_id, &local_alias)
.await?;
}
}