diff --git a/src/index/api.rs b/src/index/api.rs index d770e9f24..7dbbe5c58 100644 --- a/src/index/api.rs +++ b/src/index/api.rs @@ -136,13 +136,13 @@ impl Api { #[derive(Deserialize)] struct OwnerData { #[serde(default)] - avatar: String, + avatar: Option, #[serde(default)] - email: String, + email: Option, #[serde(default)] - login: String, + login: Option, #[serde(default)] - name: String, + name: Option, } let response: Response = self.client.get(url).send()?.error_for_status()?.json()?; @@ -150,12 +150,18 @@ impl Api { let result = response .users .into_iter() - .filter(|data| !data.login.is_empty()) + .filter(|data| { + !data + .login + .as_ref() + .map(|login| login.is_empty()) + .unwrap_or_default() + }) .map(|data| CrateOwner { - avatar: data.avatar, - email: data.email, - login: data.login, - name: data.name, + avatar: data.avatar.unwrap_or_default(), + email: data.email.unwrap_or_default(), + login: data.login.unwrap_or_default(), + name: data.name.unwrap_or_default(), }) .collect();