36 lines
901 B
Dart
36 lines
901 B
Dart
import 'route_position.dart';
|
|
|
|
class TruckRoute {
|
|
const TruckRoute({
|
|
required this.routeId,
|
|
required this.name,
|
|
required this.truckId,
|
|
required this.status,
|
|
required this.positions,
|
|
});
|
|
|
|
final String routeId;
|
|
final String name;
|
|
final int truckId;
|
|
final String status;
|
|
final List<RoutePosition> positions;
|
|
|
|
factory TruckRoute.fromJson(Map<String, dynamic> json) {
|
|
final positionsJson = json['positions'];
|
|
final positions = positionsJson is List
|
|
? positionsJson
|
|
.whereType<Map<String, dynamic>>()
|
|
.map(RoutePosition.fromJson)
|
|
.toList(growable: false)
|
|
: <RoutePosition>[];
|
|
|
|
return TruckRoute(
|
|
routeId: json['routeId'].toString(),
|
|
name: json['name'].toString(),
|
|
truckId: (json['truckId'] as num).toInt(),
|
|
status: json['status'].toString(),
|
|
positions: positions,
|
|
);
|
|
}
|
|
}
|