You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
2.2 KiB
68 lines
2.2 KiB
import 'package:json_annotation/json_annotation.dart'; |
|
|
|
part 'station_data.g.dart'; |
|
|
|
@JsonSerializable() |
|
class StationData { |
|
final String date; |
|
final String stationName; |
|
final List<StationArrival>? arrivals; |
|
final List<StationDeparture>? departures; |
|
|
|
const StationData({required this.date, required this.stationName, required this.arrivals, required this.departures}); |
|
|
|
factory StationData.fromJson(Map<String, dynamic> json) => _$StationDataFromJson(json); |
|
Map<String, dynamic> toJson() => _$StationDataToJson(this); |
|
} |
|
|
|
@JsonSerializable() |
|
class StationArrival { |
|
final int? stoppingTime; |
|
final DateTime time; |
|
final StationTrainArr train; |
|
|
|
const StationArrival({required this.stoppingTime, required this.time, required this.train,}); |
|
|
|
factory StationArrival.fromJson(Map<String, dynamic> json) => _$StationArrivalFromJson(json); |
|
Map<String, dynamic> toJson() => _$StationArrivalToJson(this); |
|
} |
|
|
|
@JsonSerializable() |
|
class StationDeparture { |
|
final int? stoppingTime; |
|
final DateTime time; |
|
final StationTrainDep train; |
|
|
|
const StationDeparture({required this.stoppingTime, required this.time, required this.train,}); |
|
|
|
factory StationDeparture.fromJson(Map<String, dynamic> json) => _$StationDepartureFromJson(json); |
|
Map<String, dynamic> toJson() => _$StationDepartureToJson(this); |
|
} |
|
|
|
@JsonSerializable() |
|
class StationTrainArr { |
|
final String rank; |
|
final String number; |
|
final String operator; |
|
final String origin; |
|
final List<String>? route; |
|
|
|
StationTrainArr({required this.rank, required this.number, required this.operator, required this.origin, this.route,}); |
|
|
|
factory StationTrainArr.fromJson(Map<String, dynamic> json) => _$StationTrainArrFromJson(json); |
|
Map<String, dynamic> toJson() => _$StationTrainArrToJson(this); |
|
} |
|
|
|
@JsonSerializable() |
|
class StationTrainDep { |
|
final String rank; |
|
final String number; |
|
final String operator; |
|
final String destination; |
|
final List<String>? route; |
|
|
|
StationTrainDep({required this.rank, required this.number, required this.operator, required this.destination, this.route,}); |
|
|
|
factory StationTrainDep.fromJson(Map<String, dynamic> json) => _$StationTrainDepFromJson(json); |
|
Map<String, dynamic> toJson() => _$StationTrainDepToJson(this); |
|
}
|
|
|