diff options
Diffstat (limited to 'src/api.rs')
-rw-r--r-- | src/api.rs | 17 |
1 files changed, 16 insertions, 1 deletions
@@ -24,7 +24,12 @@ use reqwest::{ }, Client, }; -use crate::station::{Station, StationContainer}; +use crate::station::{ + Station, + StationAvailability, + StationAvailabilityContainer, + StationContainer +}; use crate::error::ApiResult; const API_BASE: &'static str = "https://oslobysykkel.no/api/v1"; @@ -65,4 +70,14 @@ impl Api { let v: StationContainer = serde_json::from_str(&response_json)?; Ok(v.stations) } + + /// Fetch availability status for all stations + pub fn station_availability(&self) -> ApiResult<Vec<StationAvailability>> { + let response_json = self.client.get(&url_for("stations/availability")) + .send()? + .text()?; + + let v: StationAvailabilityContainer = serde_json::from_str(&response_json)?; + Ok(v.stations) + } } |