summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main.rs17
-rw-r--r--src/travelynx.rs2
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},
}