Я строю модели для своего приложения в Dart / Flutter.Вот как выглядит модель:
abstract class Model {
/// A unique identifier of the model.
/// Gets generated by Firestore.
final String id;
Model(this.id);
}
class MyModel extends Model {
final String name;
final String description;
final int order;
MyModel(String id, this.name, this.items, this.order) : super(id);
}
Эти модели будут храниться в Google Firestore в коллекции mymodels
:
mymodels/abc
mymodels/def
...
Чтобы получить список этих моделей из Firestore, мне нужногде-то хранить путь сбора (mymodels
) для типа MyModel
.Поэтому я мог бы использовать его позже при извлечении моделей:
Future<List<T>> fetchList() {
// How to know `path` by knowing T?
_firestore.collection('path').getDocuments()
}
Где хранить этот путь сбора?Я думал объявить статическое свойство в интерфейсе Model
, но Дарт, похоже, не позволяет переопределить статические свойства.
Подойдут ли для этого аннотации Dart?