diff --git a/src/bin/update_data.rs b/src/bin/update_data.rs index 15d5e02..cd9404f 100644 --- a/src/bin/update_data.rs +++ b/src/bin/update_data.rs @@ -99,7 +99,7 @@ async fn update_ldap(config: &Config, db: &Pool) { impl From<&WolvesResultUser> for AccountWolves { fn from(input: &WolvesResultUser) -> Self { AccountWolves { - id_wolves: input.wolves_id, + id_wolves: input.wolves_id.parse::().unwrap_or(0), id_student: input.student_id.to_owned(), email: input.contact_email.to_owned(), expiry: input.expiry.to_owned(), @@ -112,7 +112,7 @@ impl From<&WolvesResultUser> for AccountWolves { #[derive(Deserialize, Serialize, Debug)] struct WolvesResultUser { committee: String, - wolves_id: i64, + wolves_id: String, first_name: String, last_name: String, contact_email: String, @@ -140,16 +140,19 @@ async fn get_wolves(config: &Config) -> Vec { // get wolves data if let Ok(mut res) = surf::post(&config.wolves_url).header("X-AM-Identity", &config.wolves_key).await { - if let Ok(WolvesResult { - success, - result, - }) = res.body_json().await - { - if success != 1 { - return vec![]; + match res.body_json().await { + Ok(WolvesResult { + success, + result, + }) => { + if success != 1 { + return vec![]; + } + return result.iter().map(AccountWolves::from).collect::>(); + } + Err(e) => { + println!("{:?}", e); } - - return result.iter().map(AccountWolves::from).collect::>(); } }