deleteFeed method

Future<void> deleteFeed({
  1. required String ownerId,
  2. required String feedId,
})

Implementation

Future<void> deleteFeed({
  required final String ownerId,
  required final String feedId,
}) async {
  try {
    final _feedRef = PeamanReferenceHelper.feedsCol.doc(feedId);
    final _myFeedRef = PeamanReferenceHelper.myFeedsCol(
      uid: ownerId,
    ).doc(_feedRef.id);

    final _feedFuture = _feedRef.delete().catchError((e) {
      print(e);
      print("Error!!!: Deleting feed");
    });
    final _myFeedFuture = _myFeedRef.delete().catchError((e) {
      print(e);
      print("Error!!!: Deleting my feed");
    });
    final _userUpdateFuture = PUserProvider.updateUserData(
      uid: ownerId,
      negativePartialUpdater: PeamanUserPartialUpdater(feeds: 1),
    ).catchError((e) {
      print(e);
      print("Error!!!: Decreasing feeds count");
    });

    await Future.wait([
      _feedFuture,
      _myFeedFuture,
      _userUpdateFuture,
    ]);

    print("Success: Deleting feed $feedId");
  } catch (e) {
    print(e);
    print('Error!!!: Deleting feed');
  }
}