From 2feeca134368f128e2133adc4be91d9bd17c0dc5 Mon Sep 17 00:00:00 2001 From: Harald Eilertsen Date: Sat, 23 Feb 2019 22:35:08 +0100 Subject: Add api to fetch availability data as well. --- src/api.rs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'src/api.rs') 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> { + let response_json = self.client.get(&url_for("stations/availability")) + .send()? + .text()?; + + let v: StationAvailabilityContainer = serde_json::from_str(&response_json)?; + Ok(v.stations) + } } -- cgit v1.2.3