1use crate::models::facility::prelude::FacilityMaintenanceRawResp;
2use crate::models::train::prelude::*;
3use crate::r#async::build_req_with_query;
4use crate::{Client, Facility, LTAClient, LTAResult};
5use async_trait::async_trait;
6
7#[async_trait]
8pub trait FacilityRequests<C: Client> {
9 async fn get_facilities_maintenance(
13 client: &C,
14 station_code: StationCode,
15 ) -> LTAResult<Vec<String>>;
16}
17
18#[async_trait]
19impl FacilityRequests<LTAClient> for Facility {
20 async fn get_facilities_maintenance(
21 client: <AClient,
22 station_code: StationCode,
23 ) -> LTAResult<Vec<String>> {
24 build_req_with_query::<FacilityMaintenanceRawResp, _, _, _>(
25 client,
26 api_url!("/FacilitiesMaintenance"),
27 |rb| rb.query(&[("StationCode", station_code)]),
28 )
29 .await
30 }
31}