main function
dynamic
main()
Implementation
main() async {
final myModelRepository = MyModelFirestoreRepository();
//read
final allMyModels = await myModelRepository.readAll();
final singleMyModel = await myModelRepository.readDocument("myFavoriteItem");
final queriedFavoriteModels = await myModelRepository.query(
(collection) => collection.where("myProperty", isEqualTo: "favorite"));
//listen
final Stream<Resource<MyModel>> listenToDoc =
myModelRepository.listenToDocument("myObservableItem");
final Stream<Resource<List<MyModel>>> listenToCollection =
myModelRepository.listenToAll();
final Stream<Resource<List<MyModel>>> listenToQuery =
myModelRepository.listenToQuery((collection) =>
collection.where("myProperty", isEqualTo: "notFavorite"));
//write
await myModelRepository
.createDocument(MyModel(id: "myItem", myProperty: "favorite"));
await myModelRepository
.updateDocument(MyModel(id: "myItem", myProperty: "notFavorite"));
await myModelRepository.deleteDocument("myItem");
}