summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBirte Kristina Friesel <derf@finalrewind.org>2025-03-27 21:26:42 +0100
committerBirte Kristina Friesel <derf@finalrewind.org>2025-03-27 21:26:42 +0100
commit68086be3a8c996486d9cbdec0b7f5e3d2dc01750 (patch)
tree62aec91c474349963ca24384c73be087963703d2
parent3dbdefa8bdfb7029bb8c508f148554fd4fa6038d (diff)
API: Add DBRIS support2.11.6
-rwxr-xr-xlib/Travelynx/Controller/Api.pm12
-rw-r--r--templates/api_documentation.html.ep9
2 files changed, 16 insertions, 5 deletions
diff --git a/lib/Travelynx/Controller/Api.pm b/lib/Travelynx/Controller/Api.pm
index f31195a..9fe72b2 100755
--- a/lib/Travelynx/Controller/Api.pm
+++ b/lib/Travelynx/Controller/Api.pm
@@ -21,6 +21,9 @@ sub sanitize {
if ( not defined $value ) {
return undef;
}
+ if ( not defined $type ) {
+ return $value ? ( '' . $value ) : undef;
+ }
if ( $type eq '' ) {
return '' . $value;
}
@@ -184,8 +187,12 @@ sub travel_v1 {
my $from_station = sanitize( q{}, $payload->{fromStation} );
my $to_station = sanitize( q{}, $payload->{toStation} );
my $train_id;
+ my $dbris = sanitize( undef, $payload->{dbris} );
my $hafas = sanitize( undef, $payload->{hafas} );
- $hafas //= exists $payload->{train}{journeyID} ? 'DB' : undef;
+
+ if ( not $hafas and exists $payload->{train}{journeyID} ) {
+ $dbris //= 'bahn.de';
+ }
if (
not(
@@ -209,6 +216,7 @@ sub travel_v1 {
}
if ( not $hafas
+ and not $dbris
and not $self->stations->search( $from_station, backend_id => 1 ) )
{
$self->render(
@@ -225,6 +233,7 @@ sub travel_v1 {
if ( $to_station
and not $hafas
+ and not $dbris
and not $self->stations->search( $to_station, backend_id => 1 ) )
{
$self->render(
@@ -288,6 +297,7 @@ sub travel_v1 {
train_id => $train_id,
uid => $uid,
hafas => $hafas,
+ dbris => $dbris,
);
}
)->then(
diff --git a/templates/api_documentation.html.ep b/templates/api_documentation.html.ep
index 4453286..099474c 100644
--- a/templates/api_documentation.html.ep
+++ b/templates/api_documentation.html.ep
@@ -129,12 +129,13 @@
{<br/>
"token" : "<%= $uid %>-<%= $token->{travel} // 'TOKEN' %>",<br/>
"action" : "checkin",<br/>
- "hafas" : "DB", (HAFAS-Instanz – Default: Deutsche Bahn)<br/>
+ "dbris" : "bahn.de", (DBRIS-Instanz – Default: bahn.de)<br/>
+ "hafas" : null, (HAFAS-Instanz, falls verwendet, sonste null)<br/>
"train" : {<br/>
- "journeyID" : "1|1426396|4|80|19082023",<br/>
+ "journeyID" : "2|#VN#1#ST#1742845592#PI#0#ZI#315136#TA#0#DA#270325#1S#8000080#1T#1841#LS#8006486#LT#2024#PU#80#RT#1#CA#RE#ZE#10773#ZB#RE10773#PC#3#FR#8000080#FT#1841#TO#8006486#TT#2024#",<br/>
}<br/>
- "fromStation" : 651806, (Name oder EVA-Nummer)<br/>
- "toStation" : 654645, (optional, Name oder EVA-Nummer)<br/>
+ "fromStation" : 8000080, (Name oder EVA-Nummer – bei bahn.de nur EVA-Nummer)<br/>
+ "toStation" : 8006486, (optional, Name oder EVA-Nummer – bei bahn.de nur EVA-Nummer)<br/>
"comment" : "Beliebiger Text" (optional, überschreibt vorherigen Kommentar)<br/>
}
</p>