From 4e1e7b87388b11d203cf10b12adda4d875fa6e0f Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Sat, 7 Dec 2019 15:29:42 +0100 Subject: [PATCH] src/server/formatter.rs: impl. new result attribute "active" --- src/server/formatter.rs | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/src/server/formatter.rs b/src/server/formatter.rs index 2daf4dbf..d8cfc1b3 100644 --- a/src/server/formatter.rs +++ b/src/server/formatter.rs @@ -39,19 +39,28 @@ pub fn json_data_response(data: Value) -> Response { response } +fn add_result_attributes(result: &mut Value, rpcenv: &dyn RpcEnvironment) +{ + if let Some(total) = rpcenv.get_result_attrib("total").and_then(|v| v.as_u64()) { + result["total"] = Value::from(total); + } + + if let Some(active) = rpcenv.get_result_attrib("active").and_then(|v| v.as_bool()) { + result["active"] = Value::from(active); + } + + if let Some(changes) = rpcenv.get_result_attrib("changes") { + result["changes"] = changes.clone(); + } +} + fn json_format_data(data: Value, rpcenv: &dyn RpcEnvironment) -> Response { let mut result = json!({ "data": data }); - if let Some(total) = rpcenv.get_result_attrib("total").and_then(|v| v.as_u64()) { - result["total"] = Value::from(total); - } - - if let Some(changes) = rpcenv.get_result_attrib("changes") { - result["changes"] = changes.clone(); - } + add_result_attributes(&mut result, rpcenv); json_data_response(result) } @@ -89,14 +98,7 @@ fn extjs_format_data(data: Value, rpcenv: &dyn RpcEnvironment) -> Response "success": true }); - if let Some(total) = rpcenv.get_result_attrib("total").and_then(|v| v.as_u64()) { - result["total"] = Value::from(total); - } - - if let Some(changes) = rpcenv.get_result_attrib("changes") { - result["changes"] = changes.clone(); - } - + add_result_attributes(&mut result, rpcenv); json_data_response(result) }