unfollowUser method
Implementation
Future<void> unfollowUser({
required final String uid,
required final String friendId,
}) async {
try {
final _userRef = PeamanReferenceHelper.usersCol.doc(uid);
final _friendRef = PeamanReferenceHelper.usersCol.doc(friendId);
final _userFollowingRef =
PeamanReferenceHelper.userFollowingsCol(uid: uid).doc(friendId);
final _friendFollowersRef =
PeamanReferenceHelper.userFollowersCol(uid: friendId).doc(uid);
final _futures = <Future>[];
final _userFollowingFuture = _userFollowingRef.delete();
_futures.add(_userFollowingFuture);
final _friendFollowersFuture = _friendFollowersRef.delete();
_futures.add(_friendFollowersFuture);
final _userUpdateFuture = _userRef.update({
'following': FieldValue.increment(-1),
});
_futures.add(_userUpdateFuture);
final _friendUpdateFuture = _friendRef.update({
'followers': FieldValue.increment(-1),
});
_futures.add(_friendUpdateFuture);
await Future.wait(_futures);
print('Success: Unfollowing friend $friendId');
} catch (e) {
print(e);
print('Error!!!: Unfollowing friend');
}
}