diff --git a/src/main.rs b/src/main.rs index d0614fd..e46feda 100644 --- a/src/main.rs +++ b/src/main.rs @@ -32,16 +32,18 @@ async fn api_totals(totals: &State>, startup_time: &State) - async fn api_list_enable( alias: &str, rules: &State>>, -) -> Result, Status> { - Ok(Json(rules.write().await.set_status(alias, true))) +) -> Result>, Status> { + Ok(Json( + rules.write().await.set_status(alias, true).map(|old| !old), + )) } #[rocket::get("/api/list/disable/")] async fn api_list_disable( alias: &str, rules: &State>>, -) -> Result, Status> { - Ok(Json(!rules.write().await.set_status(alias, false))) +) -> Result>, Status> { + Ok(Json(rules.write().await.set_status(alias, false))) } #[rocket::launch] diff --git a/src/rules.rs b/src/rules.rs index 3d823ea..f714bc9 100644 --- a/src/rules.rs +++ b/src/rules.rs @@ -17,11 +17,10 @@ impl Rules { .is_none()) } /// Change rule set status by list ID - pub fn set_status(&mut self, list_alias: &str, status: bool) -> bool { + pub fn set_status(&mut self, list_alias: &str, status: bool) -> Option { self.0 .get_mut(list_alias) .map(|list| list.set_status(status)) - .is_some() } /// Check if rule is exist in the index pub fn any(&self, value: &str) -> bool {