use crate::common::JsonValue;
use nipaw_core::types::org::OrgInfo;
impl From<JsonValue> for OrgInfo {
fn from(json_value: JsonValue) -> Self {
let org_info = json_value.0;
Self {
login: org_info.get("login").and_then(|v| v.as_str()).unwrap().to_string(),
name: org_info
.get("name")
.and_then(|v| v.as_str())
.filter(|s| !s.is_empty())
.map(|s| s.to_string()),
email: org_info
.get("email")
.and_then(|v| v.as_str())
.filter(|s| !s.is_empty())
.map(|s| s.to_string()),
avatar_url: org_info.get("avatar_url").and_then(|v| v.as_str()).unwrap().to_string(),
description: org_info
.get("description")
.and_then(|v| v.as_str())
.filter(|s| !s.is_empty())
.map(|s| s.to_string()),
follow_count: org_info.get("followers").and_then(|v| v.as_u64()).unwrap(),
}
}
}