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.
55 lines
1.7 KiB
55 lines
1.7 KiB
import 'package:json_annotation/json_annotation.dart'; |
|
|
|
part 'station_data.g.dart'; |
|
|
|
@JsonSerializable() |
|
class StationData { |
|
final String date; |
|
final String stationName; |
|
final List<StationArrDep>? arrivals; |
|
final List<StationArrDep>? 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 StationArrDep { |
|
final int? stoppingTime; |
|
final DateTime time; |
|
final StationTrain train; |
|
final StationStatus status; |
|
|
|
const StationArrDep({required this.stoppingTime, required this.time, required this.train, required this.status,}); |
|
|
|
factory StationArrDep.fromJson(Map<String, dynamic> json) => _$StationArrDepFromJson(json); |
|
Map<String, dynamic> toJson() => _$StationArrDepToJson(this); |
|
} |
|
|
|
@JsonSerializable() |
|
class StationTrain { |
|
final String rank; |
|
final String number; |
|
final String operator; |
|
final String terminus; |
|
final List<String>? route; |
|
|
|
StationTrain({required this.rank, required this.number, required this.operator, required this.terminus, this.route,}); |
|
|
|
factory StationTrain.fromJson(Map<String, dynamic> json) => _$StationTrainFromJson(json); |
|
Map<String, dynamic> toJson() => _$StationTrainToJson(this); |
|
} |
|
|
|
@JsonSerializable() |
|
class StationStatus { |
|
final int delay; |
|
final bool real; |
|
final String? platform; |
|
|
|
StationStatus({required this.delay, required this.real, required this.platform}); |
|
|
|
factory StationStatus.fromJson(Map<String, dynamic> json) => _$StationStatusFromJson(json); |
|
Map<String, dynamic> toJson() => _$StationStatusToJson(this); |
|
}
|
|
|