commit 6b4a6d5f3a3bc1fc76921fb1bef4e593e84f368b Author: Joey Hines Date: Sun Apr 20 10:52:00 2025 -0600 initial commit diff --git a/src/models/route.rs b/src/models/route.rs new file mode 100644 index 0000000..816eade --- /dev/null +++ b/src/models/route.rs @@ -0,0 +1,23 @@ +use crate::models::Ctatt; +use crate::models::train::Train; +use serde::{Deserialize, Serialize}; + +#[derive(Serialize, Debug)] +pub struct RouteRequest { + pub rt: String, + pub key: String, +} + +#[derive(Deserialize, Debug)] +pub struct Route { + #[serde(rename = "@name")] + pub name: String, + pub train: Vec, +} + +#[derive(Deserialize, Debug)] +pub struct RouteResp { + #[serde(flatten)] + pub header: Ctatt, + pub route: Vec, +} diff --git a/src/models/train.rs b/src/models/train.rs new file mode 100644 index 0000000..3048aa8 --- /dev/null +++ b/src/models/train.rs @@ -0,0 +1,29 @@ +use serde::Deserialize; + +#[derive(Debug, Deserialize)] +pub struct Train { + pub rn: String, + #[serde(rename = "destSt")] + pub dest_st: String, + #[serde(rename = "destNm")] + pub dest_nm: String, + #[serde(rename = "trDr")] + pub tr_dr: String, + #[serde(rename = "nextStaId")] + pub next_sta_id: String, + #[serde(rename = "nextStpId")] + pub next_stp_id: String, + #[serde(rename = "nextStaNm")] + pub next_sta_nm: String, + pub prdt: String, + #[serde(rename = "arrT")] + pub arrt: String, + #[serde(rename = "isApp")] + pub is_app: String, + #[serde(rename = "isDly")] + pub is_dly: String, + pub flags: Option, + pub lat: String, + pub lon: String, + pub heading: String, +}