diff options
Diffstat (limited to 'src/shared.rs')
| -rw-r--r-- | src/shared.rs | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/shared.rs b/src/shared.rs new file mode 100644 index 0000000..75a4d1c --- /dev/null +++ b/src/shared.rs @@ -0,0 +1,43 @@ +use serde::{Serialize, Deserialize}; +//API answer struct`s + +#[derive(Debug, Serialize, Deserialize)] +pub struct WeatherData { + pub latitude: f64, + pub longitude: f64, + pub generationtime_ms: Option<f64>, + pub utc_offset_seconds: Option<i32>, + pub timezone: Option<String>, + pub timezone_abbreviation: Option<String>, + pub elevation: Option<f64>, + pub current_units: Option<CurrentUnits>, + pub current: Current, + pub hourly_units: Option<HourlyUnits>, + pub hourly: Hourly, +} +#[derive(Debug, Serialize, Deserialize)] +pub struct Current { + pub time: String, + pub temperature_2m: f32, + pub wind_speed_10m: f32, +} +#[derive(Debug, Serialize, Deserialize)] +pub struct CurrentUnits { + pub time: Option<String>, + pub temperature_2m: Option<String>, + pub wind_speed_10m: Option<String>, +} +#[derive(Debug, Serialize, Deserialize)] +pub struct Hourly { + pub time: Vec<String>, + pub temperature_2m: Vec<f32>, + pub relative_humidity_2m: Vec<u32>, + pub wind_speed_10m: Vec<f32>, +} +#[derive(Debug, Serialize, Deserialize)] +pub struct HourlyUnits { + pub time: Option<String>, + pub temperature_2m: Option<String>, + pub relative_humidity_2m: Option<String>, + pub wind_speed_10m: Option<String>, +} |
