48 lines
1.2 KiB
Rust
48 lines
1.2 KiB
Rust
|
use chrono::{DateTime, FixedOffset};
|
||
|
use serde::Deserialize;
|
||
|
|
||
|
#[derive(Deserialize, Debug)]
|
||
|
pub struct Container<D> {
|
||
|
pub data: D,
|
||
|
}
|
||
|
|
||
|
#[derive(Deserialize, Debug)]
|
||
|
#[serde(rename_all = "camelCase")]
|
||
|
pub struct Status {
|
||
|
train: TransportResource,
|
||
|
}
|
||
|
|
||
|
#[derive(Deserialize, Debug)]
|
||
|
#[serde(rename_all = "camelCase")]
|
||
|
pub struct TransportResource {
|
||
|
category: String,
|
||
|
line_name: String,
|
||
|
distance: u32,
|
||
|
duration: u32,
|
||
|
operator: OperatorResource,
|
||
|
origin: StopOverResource,
|
||
|
destination: StopOverResource,
|
||
|
}
|
||
|
|
||
|
#[derive(Deserialize, Debug)]
|
||
|
#[serde(rename_all = "camelCase")]
|
||
|
pub struct StopOverResource {
|
||
|
name: String,
|
||
|
ril_identifier: Option<String>,
|
||
|
arrival: Option<DateTime<FixedOffset>>,
|
||
|
arrival_planned: Option<DateTime<FixedOffset>>,
|
||
|
arrival_real: Option<DateTime<FixedOffset>>,
|
||
|
departure: Option<DateTime<FixedOffset>>,
|
||
|
departure_planned: Option<DateTime<FixedOffset>>,
|
||
|
departure_real: Option<DateTime<FixedOffset>>,
|
||
|
platform: Option<String>,
|
||
|
departure_platform_planned: Option<String>,
|
||
|
departure_platform_real: Option<String>,
|
||
|
}
|
||
|
|
||
|
#[derive(Deserialize, Debug)]
|
||
|
#[serde(rename_all = "camelCase")]
|
||
|
pub struct OperatorResource {
|
||
|
name: String,
|
||
|
}
|