From d2a2e02bb7049f5e9d6707edb6605ad2afcce6a6 Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Sun, 7 Apr 2019 13:17:19 +0200 Subject: [PATCH] src/api2/node/tasks.rs: implement userfilter --- src/api2/node/tasks.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/api2/node/tasks.rs b/src/api2/node/tasks.rs index fc9549b1..f10b9922 100644 --- a/src/api2/node/tasks.rs +++ b/src/api2/node/tasks.rs @@ -17,6 +17,8 @@ fn list_tasks( let limit = param["limit"].as_u64().unwrap_or(50); let errors = param["errors"].as_bool().unwrap_or(false); + let userfilter = param["userfilter"].as_str(); + let list = server::read_task_list()?; let mut result = vec![]; @@ -35,6 +37,10 @@ fn list_tasks( "user": info.upid.username, }); + if let Some(username) = userfilter { + if !info.upid.username.contains(username) { continue; } + } + if let Some(ref state) = info.state { if errors && state.1 == "OK" { continue; @@ -81,7 +87,11 @@ pub fn router() -> Router { "errors", BooleanSchema::new("Only list erroneous tasks.") ) - ) + .optional( + "userfilter", + StringSchema::new("Only list tasks from this user.") + ) + ) ); route