diff options
-rw-r--r-- | src/main.rs | 17 | ||||
-rw-r--r-- | src/travelynx.rs | 2 |
2 files changed, 19 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs index a0984e6..1712545 100644 --- a/src/main.rs +++ b/src/main.rs @@ -30,6 +30,10 @@ enum Command { #[clap(flatten)] train: TrainRef, }, + /// (If already checked in) change the trip's destination + Destination { + to: String + }, /// If iceportal.de is available, ask it which train we're in and /// check in Autocheckin, @@ -102,6 +106,19 @@ fn main() -> Result<(), ureq::Error> { ); println!("{}: {}", traveltext, resp); + }, + Command::Destination { to } => { + let resp: Response = exiting_post_request( + &format!("{}/api/v1/travel", cli.baseurl), + Action::CheckOut { + to_station: to, + force: false, + token: config.token_travel, + comment: None + }, + cli.debug + ); + println!("{}: {}", traveltext, resp); } Command::Undo => { let resp: Response = exiting_post_request( diff --git a/src/travelynx.rs b/src/travelynx.rs index 0188f32..5457641 100644 --- a/src/travelynx.rs +++ b/src/travelynx.rs @@ -28,11 +28,13 @@ pub enum Action { comment: Option<String>, }, #[serde(rename = "checkout")] + #[serde(rename_all = "camelCase")] CheckOut { to_station: String, force: bool, #[serde(skip_serializing_if = "Option::is_none")] comment: Option<String>, + token: String }, Undo {token: String}, } |