diff options
Diffstat (limited to 'rola-cli/src/bucket_mgr/bind')
| -rw-r--r-- | rola-cli/src/bucket_mgr/bind/chains.rs | 34 | ||||
| -rw-r--r-- | rola-cli/src/bucket_mgr/bind/renderers.rs | 2 |
2 files changed, 17 insertions, 19 deletions
diff --git a/rola-cli/src/bucket_mgr/bind/chains.rs b/rola-cli/src/bucket_mgr/bind/chains.rs index 881e5ba..b8037e2 100644 --- a/rola-cli/src/bucket_mgr/bind/chains.rs +++ b/rola-cli/src/bucket_mgr/bind/chains.rs @@ -1,16 +1,20 @@ use crate::{ Next, - bucket_mgr::{ + bucket_mgr::bind::{ EntryBucketBind, ErrorBucketBindIndexNotFound, ErrorBucketBindIndexNotProvided, ResultAllBucketBind, ResultBucketOperated, ResultEnumBucketOperation::{self, Set}, ResultOneBucketBind, StateBucketBindListAll, StateBucketBindListSpecified, StateBucketBindRemove, StateBucketBindSet, }, - error::{ErrorRequireOverwrite, ErrorSpace}, + error::require_overwrite::ErrorRequireOverwrite, + error::space::ErrorSpace, res::{bucket::ResBucketWithoutProtocol, overwrite::ResOverwrite}, }; -use mingling::{LazyRes, macros::chain}; +use mingling::{ + Groupped, LazyRes, + macros::{chain, route}, +}; use rorolala::bucket::{self}; use shared_functions::info; @@ -55,10 +59,10 @@ pub fn handle_state_bucket_bind_set( let (index, url) = set.inner; let bucket_space_ref = &bucket.get_ref().space; - let exist = match bucket::bind::check_bucket_bind_exists(bucket_space_ref, index) { - Ok(exists) => exists, - Err(e) => return ErrorSpace::from(e).to_chain(), - }; + let exist = route!(bucket::bind::check_bucket_bind_exists( + bucket_space_ref, + index + )); // When the bind already exists but overwrite is not specified // Dispatch to ErrorRequireOverwrite @@ -88,9 +92,7 @@ pub fn handle_state_bucket_bind_remove( let index = remove.inner; let bucket_space_ref = &bucket.get_ref().space; - if let Err(space_error) = bucket::bind::remove_bucket_bind(bucket_space_ref, index) { - return ErrorSpace::from(space_error).to_chain(); - } + route!(bucket::bind::remove_bucket_bind(bucket_space_ref, index)); ResultBucketOperated { operation: ResultEnumBucketOperation::Remove, @@ -107,10 +109,9 @@ pub fn handle_state_bucket_bind_list_specified( ) -> Next { let index = index.inner; let bucket_space_ref = &bucket.get_ref().space; - let bind_info = match bucket::bind::read_bucket_bind(bucket_space_ref, index) { - Err(e) => return ErrorSpace::from(e).to_chain(), - Ok(None) => return ErrorBucketBindIndexNotFound::new(index).to_render(), - Ok(Some(r)) => r, + let bind_info = match route!(bucket::bind::read_bucket_bind(bucket_space_ref, index)) { + None => return ErrorBucketBindIndexNotFound::new(index).to_render(), + Some(r) => r, }; ResultOneBucketBind { @@ -127,10 +128,7 @@ pub fn handle_state_bucket_bind_list_all( ) -> Next { let bucket_space_ref = &bucket.get_ref().space; info!("Reading all bucket binds from space"); - let bind_list = match bucket::bind::read_bucket_binds(bucket_space_ref) { - Err(e) => return ErrorSpace::from(e).to_chain(), - Ok(r) => r, - }; + let bind_list = route!(bucket::bind::read_bucket_binds(bucket_space_ref)); info!("Read {} bucket binds", bind_list.len()); ResultAllBucketBind { bind_list }.to_render() } diff --git a/rola-cli/src/bucket_mgr/bind/renderers.rs b/rola-cli/src/bucket_mgr/bind/renderers.rs index 18ae092..cf12b7f 100644 --- a/rola-cli/src/bucket_mgr/bind/renderers.rs +++ b/rola-cli/src/bucket_mgr/bind/renderers.rs @@ -4,7 +4,7 @@ use mingling::{ }; use crate::{ - bucket_mgr::{ + bucket_mgr::bind::{ EC_BUCKET_BIND_INDEX_NOT_FOUND, EC_BUCKET_BIND_INDEX_NOT_PROVIDED, ErrorBucketBindIndexNotFound, ErrorBucketBindIndexNotProvided, ResultAllBucketBind, ResultBucketOperated, ResultEnumBucketOperation, ResultOneBucketBind, |
