Loading lib/Travelynx.pm +5 −0 Original line number Diff line number Diff line Loading @@ -737,6 +737,11 @@ sub startup { my $tx = $db->begin; if ( defined $train ) { if ( not $train->arrival ) { die("Train has no arrival timestamp\n"); } $has_arrived = $train->arrival->epoch < $now->epoch ? 1 : 0; my $json = JSON->new; $db->update( Loading lib/Travelynx/Controller/Api.pm +5 −4 Original line number Diff line number Diff line Loading @@ -281,7 +281,8 @@ sub travel_v1 { $self->render( json => { success => \0, error => 'Fehler am Abfahrtsbahnhof: ' error => 'Error requesting departures from fromStation: ' . $status->{errstr}, status => $self->get_user_status_json_v1($uid) } Loading @@ -297,7 +298,7 @@ sub travel_v1 { json => { success => \0, deprecated => \0, error => 'Zug nicht gefunden', error => 'Train not found at fromStation', status => $self->get_user_status_json_v1($uid) } ); Loading @@ -320,7 +321,7 @@ sub travel_v1 { json => { success => \0, deprecated => \0, error => $error, error => 'Checkin/Checkout error: ' . $error, status => $self->get_user_status_json_v1($uid) } ); Loading Loading @@ -362,7 +363,7 @@ sub travel_v1 { json => { success => \0, deprecated => \0, error => $error, error => 'Checkout error: ' . $error, status => $self->get_user_status_json_v1($uid) } ); Loading templates/api_documentation.html.ep +11 −1 Original line number Diff line number Diff line Loading @@ -73,6 +73,10 @@ <p> Checkin per API. Sobald eine Zielstation bekannt ist, erfolgt der Checkout wie beim Webinterface automatisch zehn Minuten nach Ankunft. Bitte beachten: Es wird nicht überprüft, ob die angegebene Zielstation in der vorgesehenen Route des Zugs vorkommt oder nicht. </p> <p> Falls du zum Checkinzeitpunkt bereits in einen anderen Zug eingecheckt bist, wirst du zunächst am gewählten Startbahnhof aus diesem ausgecheckt. Der Checkout erfolgt unabhängig davon, ob der vorherige Zug an dieser Loading @@ -80,6 +84,12 @@ innerhalb von 48 Stunden kein Zielbahnhof nachgetragen wird, wird der Checkin automatisch rückgängig gemacht. </p> <p> Das Verhalten des Checkout-Endpunkts hängt vom Zeitpunkt ab. Wenn der Zug den angegebenen Zielbahnhof bereits erreicht hat, wird dort ausgecheckt. Andernfalls wird das Reiseziel aktualisiert und etwa zehn Minuten nach Ankunft automatisch ausgecheckt. </p> <p style="font-family: Monospace;"> curl -X POST -H "Content-Type: application/json" -d '{"token":"<%= $uid %>-<%= $token->{travel} // 'TOKEN' %>"}' <%= $api_root %>/travel </p> Loading @@ -102,7 +112,7 @@ {<br/> "token" : "<%= $uid %>-<%= $token->{travel} // 'TOKEN' %>",<br/> "action" : "checkout",<br/> "force" : true/false, (wenn true: Checkout jetzt durchführen und auftretende Fehler ignorieren. Kann zu Logeinträgen ohne Ankunftsdaten führen.)<br/> "force" : true/false, (wenn true: Checkout jetzt durchführen und auftretende Fehler ignorieren. Kann zu Logeinträgen ohne Ankunftszeit führen.)<br/> "toStation" : "Berlin Hbf", (DS100 oder EVA-Nummer sind ebenfalls möglich)<br/> "comment" : "Beliebiger Text" (optional, überschreibt vorherigen Kommentar)<br/> } Loading Loading
lib/Travelynx.pm +5 −0 Original line number Diff line number Diff line Loading @@ -737,6 +737,11 @@ sub startup { my $tx = $db->begin; if ( defined $train ) { if ( not $train->arrival ) { die("Train has no arrival timestamp\n"); } $has_arrived = $train->arrival->epoch < $now->epoch ? 1 : 0; my $json = JSON->new; $db->update( Loading
lib/Travelynx/Controller/Api.pm +5 −4 Original line number Diff line number Diff line Loading @@ -281,7 +281,8 @@ sub travel_v1 { $self->render( json => { success => \0, error => 'Fehler am Abfahrtsbahnhof: ' error => 'Error requesting departures from fromStation: ' . $status->{errstr}, status => $self->get_user_status_json_v1($uid) } Loading @@ -297,7 +298,7 @@ sub travel_v1 { json => { success => \0, deprecated => \0, error => 'Zug nicht gefunden', error => 'Train not found at fromStation', status => $self->get_user_status_json_v1($uid) } ); Loading @@ -320,7 +321,7 @@ sub travel_v1 { json => { success => \0, deprecated => \0, error => $error, error => 'Checkin/Checkout error: ' . $error, status => $self->get_user_status_json_v1($uid) } ); Loading Loading @@ -362,7 +363,7 @@ sub travel_v1 { json => { success => \0, deprecated => \0, error => $error, error => 'Checkout error: ' . $error, status => $self->get_user_status_json_v1($uid) } ); Loading
templates/api_documentation.html.ep +11 −1 Original line number Diff line number Diff line Loading @@ -73,6 +73,10 @@ <p> Checkin per API. Sobald eine Zielstation bekannt ist, erfolgt der Checkout wie beim Webinterface automatisch zehn Minuten nach Ankunft. Bitte beachten: Es wird nicht überprüft, ob die angegebene Zielstation in der vorgesehenen Route des Zugs vorkommt oder nicht. </p> <p> Falls du zum Checkinzeitpunkt bereits in einen anderen Zug eingecheckt bist, wirst du zunächst am gewählten Startbahnhof aus diesem ausgecheckt. Der Checkout erfolgt unabhängig davon, ob der vorherige Zug an dieser Loading @@ -80,6 +84,12 @@ innerhalb von 48 Stunden kein Zielbahnhof nachgetragen wird, wird der Checkin automatisch rückgängig gemacht. </p> <p> Das Verhalten des Checkout-Endpunkts hängt vom Zeitpunkt ab. Wenn der Zug den angegebenen Zielbahnhof bereits erreicht hat, wird dort ausgecheckt. Andernfalls wird das Reiseziel aktualisiert und etwa zehn Minuten nach Ankunft automatisch ausgecheckt. </p> <p style="font-family: Monospace;"> curl -X POST -H "Content-Type: application/json" -d '{"token":"<%= $uid %>-<%= $token->{travel} // 'TOKEN' %>"}' <%= $api_root %>/travel </p> Loading @@ -102,7 +112,7 @@ {<br/> "token" : "<%= $uid %>-<%= $token->{travel} // 'TOKEN' %>",<br/> "action" : "checkout",<br/> "force" : true/false, (wenn true: Checkout jetzt durchführen und auftretende Fehler ignorieren. Kann zu Logeinträgen ohne Ankunftsdaten führen.)<br/> "force" : true/false, (wenn true: Checkout jetzt durchführen und auftretende Fehler ignorieren. Kann zu Logeinträgen ohne Ankunftszeit führen.)<br/> "toStation" : "Berlin Hbf", (DS100 oder EVA-Nummer sind ebenfalls möglich)<br/> "comment" : "Beliebiger Text" (optional, überschreibt vorherigen Kommentar)<br/> } Loading