Skip to main content

lta/get_road_works/
json.rs

1// @generated by satay. Do not edit by hand.
2#![allow(
3    clippy::doc_markdown,
4    clippy::missing_errors_doc,
5    clippy::must_use_candidate,
6    clippy::needless_pass_by_value,
7    clippy::return_self_not_must_use,
8    clippy::single_match_else
9)]
10
11use super::super::types::RoadDetails;
12use super::parts::{GetRoadWorksInput, GetRoadWorksResponse, get_road_works_parts};
13/// Returns road works currently in progress or planned, together with event details and the responsible agency.
14///
15/// **Update freq**: 24 hours – whenever there are updates
16pub fn encode_get_road_works(
17    input: GetRoadWorksInput,
18) -> Result<http::Request<Vec<u8>>, satay_runtime::Error> {
19    let parts = get_road_works_parts(input)?;
20    satay_runtime::into_empty_request(parts)
21}
22pub fn decode_get_road_works_response<B: AsRef<[u8]>>(
23    response: satay_runtime::ResponseParts<B>,
24) -> Result<GetRoadWorksResponse, satay_runtime::Error> {
25    let status = response.status;
26    match status.as_u16() {
27        200 => {
28            let body = response.body;
29            let value = satay_runtime::from_projected_json_slice::<Vec<RoadDetails>>(
30                body.as_ref(),
31                "value",
32                None,
33            )?;
34            Ok(GetRoadWorksResponse::Ok(value))
35        }
36        _ => {
37            let body = response.body;
38            Ok(GetRoadWorksResponse::UnexpectedStatus(
39                status,
40                body.as_ref().to_vec(),
41            ))
42        }
43    }
44}