streamUserMessagingChanges method

Stream<UserMessagingModel?> streamUserMessagingChanges(
  1. String userId
)

Implementation

Stream<UserMessagingModel?> streamUserMessagingChanges(String userId) {
  final userRef = _db
      .collection('Users')
      .doc(userId)
      .collection('Private')
      .doc('messaging');

  return userRef.snapshots().asyncMap((event) async {
    if (event.data() == null) {
      return null;
    }

    try {
      final user = await UserMessagingModel.fromDocumentSnapshot(event);

      return user;
    } catch (err) {
      _log.logCustom(UserMessagingDataServiceLog(
          'streamUserMessagingChanges failed', err, StackTrace.current));
      return null;
    }
  });
}