viewFeed method

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

Implementation

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

    final _viewedFeedRef =
        PeamanReferenceHelper.viewedFeedsCol(uid: uid).doc(feedId);
    final _feedViewerRef =
        PeamanReferenceHelper.feedViewersCol(feedId: feedId).doc(uid);

    final _feedViewer = PeamanFeedViewer(
      uid: uid,
      createdAt: _currentMillis,
      updatedAt: _currentMillis,
    );
    final _viewedFeed = PeamanViewedFeed(
      id: feedId,
      createdAt: _currentMillis,
      updatedAt: _currentMillis,
    );

    final _futures = <Future>[
      _feedViewerRef.set(_feedViewer.toJson()),
      _viewedFeedRef.set(_viewedFeed.toJson()),
      updateFeedPropertiesCount(
        feedId: feedId,
        viewsCount: 1,
      ),
    ];

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