Unverified Commit 68086be3 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

API: Add DBRIS support

parent 3dbdefa8
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -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(
+5 −4
Original line number Diff line number Diff line
@@ -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>