Future createPost(String body, String image, int order) {
final TransactionHandler handler = (Transaction transaction) async {
final DocumentSnapshot snapshot =
await transaction.get(postCollection.document());
final Post post = new Post(snapshot.documentID, body, image, order, 0);
final Map data = post.toMap();
await transaction.set(snapshot.reference, data);
return data;
};
return Firestore.instance.runTransaction(handler).then((mapData) {
return Post.fromMap(mapData);
});
}
FirestoreService::createPost