saveFeed method

Future<void> saveFeed({
  1. required String feedId,
  2. required String uid,
})

Implementation

Future<void> saveFeed({
  required final String feedId,
  required final String uid,
}) async {
  try {
    final _currentMillis = DateTime.now().millisecondsSinceEpoch;

    final _feedSaverRef =
        PeamanReferenceHelper.feedSaversCol(feedId: feedId).doc(uid);
    final _savedFeedRef =
        PeamanReferenceHelper.savedFeedsCol(uid: uid).doc(feedId);

    final _feedSaver = PeamanFeedSaver(
      uid: uid,
      createdAt: _currentMillis,
      updatedAt: _currentMillis,
    );
    final _savedFeed = PeamanSavedFeed(
      id: feedId,
      createdAt: _currentMillis,
      updatedAt: _currentMillis,
    );

    final _futures = <Future>[
      _feedSaverRef.set(_feedSaver.toJson()),
      _savedFeedRef.set(_savedFeed.toJson()),
      updateFeedPropertiesCount(
        feedId: feedId,
        savesCount: 1,
      ),
    ];

    await Future.wait(_futures);
    print('Success: Saving feed $feedId');
  } catch (e) {
    print(e);
    print('Error!!!: Saving feed');
  }
}