Я пытаюсь создать классы, соответствующие схеме моего пожарного депо. Моя схема в firestore:
docID
------------>↓location //Map
↓country //Map
name: "Ireland"
code: "IRE"
↓suburb //Map
name: "Cork"
code: "crk"
↓postcode //Map
name: "4"
code: "4"
Я немного запутался, как смоделировать выше. Это то, что я сделал до сих пор ..
class VoterData {
VoterData({this.location});
final Location location;
Map<String, dynamic> toMap() {
return {
'location': location,
};
}
factory VoterData.fromMap(Map<String, dynamic> map) {
return VoterData(location: map['location']);
}
}
class Location {
final Suburb suburb;
final Postcode postcode;
final Country country;
Location({this.suburb, this.country, this.postcode});
factory Location.fromJson(Map<String, dynamic> json) => Location(
suburb: json['suburb'],
postcode: json['postcode'],
country: json['country'],
);
Map<String, dynamic> toJson() => {
"suburb": suburb,
"postcode": postcode,
"country": country,
};
}
class Suburb {
String code;
String name;
Suburb({
this.code,
this.name,
});
factory Suburb.fromJson(Map<String, dynamic> json) => Suburb(
code: json["code"],
name: json["name"],
);
Map<String, dynamic> toJson() => {
"code": code,
"name": name,
};
}
class Postcode {
String code;
String name;
Postcode({
this.code,
this.name,
});
factory Postcode.fromJson(Map<String, dynamic> json) => Postcode(
code: json["code"],
name: json["name"],
);
Map<String, dynamic> toJson() => {
"code": code,
"name": name,
};
}
class Country {
String code;
String name;
Country({
this.code,
this.name,
});
factory Country.fromJson(Map<String, dynamic> json) => Country(
code: json["code"],
name: json["name"],
);
Map<String, dynamic> toJson() => {
"code": code,
"name": name,
};
}
Я буду искать данные моего хранилища, которые будут строго типизированы для моей объектной модели. Предположим, мне нужно написать пригородный объект в пожарном депо. Как бы я разработал свой класс модели ..?