From 0053d133f8ff96aa4dedc1ff7e2754812ddfc79a Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Fri, 31 Aug 2018 14:43:58 -0700 Subject: correct EditgroupAlreadyAccepted response --- rust/src/api_helpers.rs | 5 +---- rust/src/api_server.rs | 5 ++++- rust/src/api_wrappers.rs | 5 +++++ rust/src/lib.rs | 4 ++++ 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/rust/src/api_helpers.rs b/rust/src/api_helpers.rs index 020aad76..a68ed8a9 100644 --- a/rust/src/api_helpers.rs +++ b/rust/src/api_helpers.rs @@ -34,10 +34,7 @@ pub fn accept_editgroup(editgroup_id: Uuid, conn: &PgConnection) -> Result 0 { - bail!( - "editgroup {} has already been accepted", - editgroup_id.to_string() - ); + return Err(ErrorKind::EditgroupAlreadyAccepted(uuid2fcid(&editgroup_id)).into()); } // for each entity type... diff --git a/rust/src/api_server.rs b/rust/src/api_server.rs index b0dff173..7bf3122b 100644 --- a/rust/src/api_server.rs +++ b/rust/src/api_server.rs @@ -216,7 +216,10 @@ fn release_row2entity( let contribs: Vec = release_contrib::table .filter(release_contrib::release_rev.eq(rev.id)) - .order((release_contrib::role.asc(), release_contrib::index_val.asc())) + .order(( + release_contrib::role.asc(), + release_contrib::index_val.asc(), + )) .get_results(conn) .expect("fetch release refs") .into_iter() diff --git a/rust/src/api_wrappers.rs b/rust/src/api_wrappers.rs index 95336d3f..403c7caf 100644 --- a/rust/src/api_wrappers.rs +++ b/rust/src/api_wrappers.rs @@ -308,6 +308,11 @@ impl Api for Server { message: format!("No such editgroup: {}", id), }) } + Err(Error(ErrorKind::EditgroupAlreadyAccepted(e), _)) => { + AcceptEditgroupResponse::BadRequest(ErrorResponse { + message: ErrorKind::EditgroupAlreadyAccepted(e).to_string(), + }) + } Err(e) => AcceptEditgroupResponse::GenericError(ErrorResponse { message: e.to_string(), }), diff --git a/rust/src/lib.rs b/rust/src/lib.rs index 50a7d410..12ce0973 100644 --- a/rust/src/lib.rs +++ b/rust/src/lib.rs @@ -47,6 +47,10 @@ mod errors { description("external identifier doesn't match required pattern") display("external identifier doesn't match required pattern") } + EditgroupAlreadyAccepted(id: String) { + description("editgroup was already accepted") + display("attempted to accept an editgroup which was already accepted: {}", id) + } } } } -- cgit v1.2.3