import 'package:latlong2/latlong.dart'; import 'camera_profile.dart'; class PendingUpload { final LatLng coord; final double direction; final CameraProfile profile; int attempts; bool error; PendingUpload({ required this.coord, required this.direction, required this.profile, this.attempts = 0, this.error = false, }); Map toJson() => { 'lat': coord.latitude, 'lon': coord.longitude, 'dir': direction, 'profile': profile.toJson(), 'attempts': attempts, 'error': error, }; factory PendingUpload.fromJson(Map j) => PendingUpload( coord: LatLng(j['lat'], j['lon']), direction: j['dir'], profile: j['profile'] is Map ? CameraProfile.fromJson(j['profile']) : CameraProfile.alpr(), attempts: j['attempts'] ?? 0, error: j['error'] ?? false, ); }