56 lines
1000 B
Dart
56 lines
1000 B
Dart
import 'package:isar/isar.dart';
|
|
import 'package:json_annotation/json_annotation.dart';
|
|
|
|
part 'rank.g.dart';
|
|
|
|
@collection
|
|
@JsonSerializable()
|
|
class Ranking {
|
|
@JsonValue(0)
|
|
late Id? id = Isar.autoIncrement;
|
|
|
|
@JsonKey(name: "ranking")
|
|
late List<Rank> ranks;
|
|
|
|
Ranking();
|
|
|
|
factory Ranking.fromJson(Map<String, dynamic> json) => _$RankingFromJson(json);
|
|
|
|
Map<String, dynamic> toJson() => _$RankingToJson(this);
|
|
}
|
|
|
|
@embedded
|
|
@JsonSerializable()
|
|
class Rank {
|
|
late int id;
|
|
|
|
late String zip;
|
|
|
|
String? area;
|
|
|
|
late List<Vehicle> vehicles;
|
|
|
|
Rank();
|
|
|
|
factory Rank.fromJson(Map<String, dynamic> json) => _$RankFromJson(json);
|
|
|
|
Map<String, dynamic> toJson() => _$RankToJson(this);
|
|
}
|
|
|
|
@embedded
|
|
@JsonSerializable()
|
|
class Vehicle {
|
|
late int id;
|
|
|
|
late int type;
|
|
|
|
@JsonKey(name: 'self', defaultValue: false)
|
|
late bool? self;
|
|
|
|
Vehicle();
|
|
|
|
factory Vehicle.fromJson(Map<String, dynamic> json) => _$VehicleFromJson(json);
|
|
|
|
Map<String, dynamic> toJson() => _$VehicleToJson(this);
|
|
}
|