Commit 934a9ac2 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

api/import: More helpful errors, fix "lax" support

parent ae218969
Loading
Loading
Loading
Loading
+15 −10
Original line number Diff line number Diff line
@@ -350,12 +350,16 @@ sub startup {
				my @unknown_stations;
				for my $station ( @{ $opt{route} } ) {
					my $station_info = get_station($station);
					if ( not $station_info ) {
					if ($station_info) {
						push( @route, [ $station_info->[1], {}, undef ] );
					}
					else {
						push( @route, [ $station, {}, undef ] );
						push( @unknown_stations, $station );
					}
					push( @route, [ $station_info->[1], {}, undef ] );
				}

				if ( not $opt{lax} ) {
					if ( @unknown_stations == 1 ) {
						return ( undef,
							"Unbekannter Unterwegshalt: $unknown_stations[0]" );
@@ -366,6 +370,7 @@ sub startup {
							  . join( ', ', @unknown_stations ) );
					}
				}
			}

			push( @route, [ $arr_station->[1], {}, undef ] );

+16 −0
Original line number Diff line number Diff line
@@ -389,6 +389,21 @@ sub import_v1 {
	my %opt;

	eval {

		if (   not $payload->{fromStation}{name}
			or not $payload->{toStation}{name} )
		{
			die("Missing fromStation/toStation name\n");
		}
		if ( not $payload->{train}{type} or not $payload->{train}{no} ) {
			die("Missing train data\n");
		}
		if (   not $payload->{fromStation}{scheduledTime}
			or not $payload->{toStation}{scheduledTime} )
		{
			die("Missing fromStation/toStation scheduledTime\n");
		}

		%opt = (
			uid         => $uid,
			train_type  => sanitize( q{}, $payload->{train}{type} ),
@@ -412,6 +427,7 @@ sub import_v1 {
				  // $payload->{toStation}{scheduledTime}
			),
			comment => sanitize( q{}, $payload->{comment} ),
			lax     => $payload->{lax} ? 1 : 0,
		);

		if ( $payload->{route} and ref( $payload->{route} ) eq 'ARRAY' ) {