diff --git a/.github/workflows/perl.yml b/.github/workflows/perl.yml index 3eccadd..c5e731f 100644 --- a/.github/workflows/perl.yml +++ b/.github/workflows/perl.yml @@ -13,7 +13,7 @@ jobs: strategy: matrix: perl-version: - - '5.20-buster' + - '5.30-buster' - 'latest' - 'threaded' diff --git a/lib/Travelynx/Controller/Api.pm b/lib/Travelynx/Controller/Api.pm index 0cc2c18..b732810 100755 --- a/lib/Travelynx/Controller/Api.pm +++ b/lib/Travelynx/Controller/Api.pm @@ -182,7 +182,7 @@ sub travel_v1 { my $from_station = sanitize( q{}, $payload->{fromStation} ); my $to_station = sanitize( q{}, $payload->{toStation} ); my $train_id; - my $hafas = sanitize(undef, $payload->{hafas}); + my $hafas = sanitize( undef, $payload->{hafas} ); $hafas //= exists $payload->{train}{journeyID} ? 'DB' : undef; if ( @@ -201,7 +201,7 @@ sub travel_v1 { error => 'Missing fromStation or train data', status => $self->get_user_status_json_v1( uid => $uid ) }, - status => 400, + status => 400, ); return; } @@ -216,7 +216,7 @@ sub travel_v1 { error => 'Unknown fromStation', status => $self->get_user_status_json_v1( uid => $uid ) }, - status => 400, + status => 400, ); return; } @@ -232,7 +232,7 @@ sub travel_v1 { error => 'Unknown toStation', status => $self->get_user_status_json_v1( uid => $uid ) }, - status => 400, + status => 400, ); return; } @@ -571,14 +571,20 @@ sub import_v1 { my $journey; if ( not $error ) { - $journey = $self->journeys->get_single( - uid => $uid, - db => $db, - journey_id => $journey_id, - verbose => 1 - ); - $error - = $self->journeys->sanity_check( $journey, $payload->{lax} ? 1 : 0 ); + eval { + $journey = $self->journeys->get_single( + uid => $uid, + db => $db, + journey_id => $journey_id, + verbose => 1 + ); + $error + = $self->journeys->sanity_check( $journey, + $payload->{lax} ? 1 : 0 ); + }; + if ($@) { + $error = $@; + } } if ($error) { @@ -673,7 +679,8 @@ sub autocomplete { = "document.addEventListener('DOMContentLoaded',function(){M.Autocomplete.init(document.querySelectorAll('.autocomplete'),{\n"; $output .= 'minLength:3,limit:50,data:'; $output - .= encode_json( $self->stations->get_for_autocomplete( backend_id => $backend_id ) ); + .= encode_json( + $self->stations->get_for_autocomplete( backend_id => $backend_id ) ); $output .= "\n});});\n"; $self->render(