diff options
author | Harald Eilertsen <haraldei@anduin.net> | 2019-02-23 22:35:08 +0100 |
---|---|---|
committer | Harald Eilertsen <haraldei@anduin.net> | 2019-02-23 22:35:08 +0100 |
commit | 2feeca134368f128e2133adc4be91d9bd17c0dc5 (patch) | |
tree | 49e5652a7002c6f68fceaa842e06f500adb7b3a5 /src/api.rs | |
parent | f1b68ffc0f539b7782ed5cc593cbebc360fe4791 (diff) | |
download | oslobike-2feeca134368f128e2133adc4be91d9bd17c0dc5.tar.gz oslobike-2feeca134368f128e2133adc4be91d9bd17c0dc5.tar.bz2 oslobike-2feeca134368f128e2133adc4be91d9bd17c0dc5.zip |
Add api to fetch availability data as well.
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) + } } |