aboutsummaryrefslogtreecommitdiffstats
path: root/src/api.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/api.rs')
-rw-r--r--src/api.rs17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/api.rs b/src/api.rs
index d44c2c4..6c85d76 100644
--- a/src/api.rs
+++ b/src/api.rs
@@ -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)
+ }
}