Fix some docs and change syntax of CreateBucket permissions
This commit is contained in:
parent
2f250a83e1
commit
0b43a71351
2 changed files with 21 additions and 7 deletions
|
@ -124,11 +124,11 @@ Example response:
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"success": true,
|
"success": true,
|
||||||
"error": null,
|
"error": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"success": false,
|
"success": false,
|
||||||
"error": "Handshake error",
|
"error": "Handshake error"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
@ -490,7 +490,11 @@ OR
|
||||||
"localAlias": {
|
"localAlias": {
|
||||||
"accessKeyId": "GK31c2f218a2e44f485b94239e",
|
"accessKeyId": "GK31c2f218a2e44f485b94239e",
|
||||||
"alias": "NameOfMyBucket",
|
"alias": "NameOfMyBucket",
|
||||||
"allPermissions": true
|
"allow": {
|
||||||
|
"read": true,
|
||||||
|
"write": true,
|
||||||
|
"owner": false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
@ -504,6 +508,9 @@ OR
|
||||||
Creates a new bucket, either with a global alias, a local one,
|
Creates a new bucket, either with a global alias, a local one,
|
||||||
or no alias at all.
|
or no alias at all.
|
||||||
|
|
||||||
|
Technically, you can also specify both `globalAlias` and `localAlias` and that would create
|
||||||
|
two aliases, but I don't see why you would want to do that.
|
||||||
|
|
||||||
#### DeleteBucket `DELETE /v0/bucket?id=<bucket id>`
|
#### DeleteBucket `DELETE /v0/bucket?id=<bucket id>`
|
||||||
|
|
||||||
Deletes a storage bucket. A bucket cannot be deleted if it is not empty.
|
Deletes a storage bucket. A bucket cannot be deleted if it is not empty.
|
||||||
|
@ -519,7 +526,7 @@ Request body format:
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"indexDocument": "index.html",
|
"indexDocument": "index.html",
|
||||||
"errorDocument": "404.html",
|
"errorDocument": "404.html"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@ use serde::{Deserialize, Serialize};
|
||||||
use garage_util::crdt::*;
|
use garage_util::crdt::*;
|
||||||
use garage_util::data::*;
|
use garage_util::data::*;
|
||||||
use garage_util::error::Error as GarageError;
|
use garage_util::error::Error as GarageError;
|
||||||
|
use garage_util::time::*;
|
||||||
|
|
||||||
use garage_table::*;
|
use garage_table::*;
|
||||||
|
|
||||||
|
@ -283,13 +284,19 @@ pub async fn handle_create_bucket(
|
||||||
.bucket_helper()
|
.bucket_helper()
|
||||||
.set_local_bucket_alias(bucket.id, &la.access_key_id, &la.alias)
|
.set_local_bucket_alias(bucket.id, &la.access_key_id, &la.alias)
|
||||||
.await?;
|
.await?;
|
||||||
if la.all_permissions {
|
|
||||||
|
if la.allow.read || la.allow.write || la.allow.owner {
|
||||||
garage
|
garage
|
||||||
.bucket_helper()
|
.bucket_helper()
|
||||||
.set_bucket_key_permissions(
|
.set_bucket_key_permissions(
|
||||||
bucket.id,
|
bucket.id,
|
||||||
&la.access_key_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?;
|
.await?;
|
||||||
}
|
}
|
||||||
|
@ -311,7 +318,7 @@ struct CreateBucketLocalAlias {
|
||||||
access_key_id: String,
|
access_key_id: String,
|
||||||
alias: String,
|
alias: String,
|
||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
all_permissions: bool,
|
allow: ApiBucketKeyPerm,
|
||||||
}
|
}
|
||||||
|
|
||||||
pub async fn handle_delete_bucket(
|
pub async fn handle_delete_bucket(
|
||||||
|
|
Loading…
Reference in a new issue