diff --git a/src/sources.rs b/src/sources.rs index 87db289..8c8eb2b 100644 --- a/src/sources.rs +++ b/src/sources.rs @@ -1,3 +1,5 @@ +use chrono::{Duration, Utc}; + use crate::types::Population; pub async fn saerro(world: i32) -> Result { @@ -190,6 +192,7 @@ pub async fn sanctuary(world: i32) -> Result { #[derive(serde::Deserialize)] struct World { pub population: SanctuaryPopulation, + pub timestamp: i64, } #[derive(serde::Deserialize)] @@ -215,6 +218,13 @@ pub async fn sanctuary(world: i32) -> Result { .await .unwrap(); + // error if over 15 minutes old + if response.world_population_list[0].timestamp + < (Utc::now() - Duration::minutes(15)).timestamp() + { + return Err(()); + } + Ok(Population { nc: response.world_population_list[0].population.nc, tr: response.world_population_list[0].population.tr,