diff options
Diffstat (limited to 'src/client/context.rs')
| -rw-r--r-- | src/client/context.rs | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/src/client/context.rs b/src/client/context.rs index d0600b6..1bd5ed7 100644 --- a/src/client/context.rs +++ b/src/client/context.rs @@ -78,23 +78,25 @@ impl Context { pub fn edit_profile<F: FnOnce(EditProfile) -> EditProfile>(&self, f: F) -> Result<CurrentUser> { let mut map = Map::new(); - feature_cache! {{ - let cache = CACHE.read().unwrap(); - - map.insert("username".to_owned(), Value::String(cache.user.name.clone())); - - if let Some(email) = cache.user.email.as_ref() { - map.insert("email".to_owned(), Value::String(email.clone())); - } - } else { - let user = http::get_current_user()?; - - map.insert("username".to_owned(), Value::String(user.name.clone())); - - if let Some(email) = user.email.as_ref() { - map.insert("email".to_owned(), Value::String(email.clone())); - } - }} + feature_cache! { + { + let cache = CACHE.read().unwrap(); + + map.insert("username".to_owned(), Value::String(cache.user.name.clone())); + + if let Some(email) = cache.user.email.as_ref() { + map.insert("email".to_owned(), Value::String(email.clone())); + } + } else { + let user = http::get_current_user()?; + + map.insert("username".to_owned(), Value::String(user.name.clone())); + + if let Some(email) = user.email.as_ref() { + map.insert("email".to_owned(), Value::String(email.clone())); + } + } + } let edited = f(EditProfile(map)).0; |