From ea1853a17b815ed879248f86495715812e2a45bf Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Thu, 29 Oct 2020 15:17:53 +0100 Subject: [PATCH] api2/access/user: drop Option, treat empty Vec as None Signed-off-by: Wolfgang Bumiller --- src/api2/access/user.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/api2/access/user.rs b/src/api2/access/user.rs index 33568a25..2d7f3cec 100644 --- a/src/api2/access/user.rs +++ b/src/api2/access/user.rs @@ -75,8 +75,8 @@ pub struct UserWithTokens { pub lastname: Option, #[serde(skip_serializing_if="Option::is_none")] pub email: Option, - #[serde(skip_serializing_if="Option::is_none")] - pub tokens: Option>, + #[serde(skip_serializing_if="Vec::is_empty")] + pub tokens: Vec, } impl UserWithTokens { @@ -89,7 +89,7 @@ impl UserWithTokens { firstname: user.firstname, lastname: user.lastname, email: user.email, - tokens: None, + tokens: Vec::new(), } } } @@ -145,7 +145,7 @@ pub fn list_users( let iter = list.into_iter().filter(filter_by_privs); let list = if include_tokens { - let tokens:Vec = config.convert_to_typed_array("token")?; + let tokens: Vec = config.convert_to_typed_array("token")?; let mut user_to_tokens = tokens .into_iter() .fold( @@ -162,7 +162,7 @@ pub fn list_users( iter .map(|user: user::User| { let mut user = UserWithTokens::new(user); - user.tokens = user_to_tokens.remove(&user.userid); + user.tokens = user_to_tokens.remove(&user.userid).unwrap_or_default(); user }) .collect()