aboutsummaryrefslogtreecommitdiff
path: root/src/api/admin
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2022-05-24 11:52:33 +0200
committerAlex Auvolat <alex@adnab.me>2022-05-24 11:52:33 +0200
commit0b43a7135153428f036be2056e197041797b0997 (patch)
tree42c57999992e2f2f59dc45957696b7fff257281f /src/api/admin
parent2f250a83e14e7fa10810e2bb9925cc125baf670c (diff)
downloadgarage-0b43a7135153428f036be2056e197041797b0997.tar.gz
garage-0b43a7135153428f036be2056e197041797b0997.zip
Fix some docs and change syntax of CreateBucket permissions
Diffstat (limited to 'src/api/admin')
-rw-r--r--src/api/admin/bucket.rs13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/api/admin/bucket.rs b/src/api/admin/bucket.rs
index 30dc3436..283e54c6 100644
--- a/src/api/admin/bucket.rs
+++ b/src/api/admin/bucket.rs
@@ -7,6 +7,7 @@ use serde::{Deserialize, Serialize};
use garage_util::crdt::*;
use garage_util::data::*;
use garage_util::error::Error as GarageError;
+use garage_util::time::*;
use garage_table::*;
@@ -283,13 +284,19 @@ pub async fn handle_create_bucket(
.bucket_helper()
.set_local_bucket_alias(bucket.id, &la.access_key_id, &la.alias)
.await?;
- if la.all_permissions {
+
+ if la.allow.read || la.allow.write || la.allow.owner {
garage
.bucket_helper()
.set_bucket_key_permissions(
bucket.id,
&la.access_key_id,
- BucketKeyPerm::ALL_PERMISSIONS,
+ BucketKeyPerm{
+ timestamp: now_msec(),
+ allow_read: la.allow.read,
+ allow_write: la.allow.write,
+ allow_owner: la.allow.owner,
+ }
)
.await?;
}
@@ -311,7 +318,7 @@ struct CreateBucketLocalAlias {
access_key_id: String,
alias: String,
#[serde(default)]
- all_permissions: bool,
+ allow: ApiBucketKeyPerm,
}
pub async fn handle_delete_bucket(