getRoomById method

Future<Room?> getRoomById(
  1. String roomId
)

Gets room data by room ID Returns Future<mm.Room?> - The room if found, null otherwise

Implementation

Future<mm.Room?> getRoomById(String roomId) async {
  final fu = firebaseUser;
  if (fu == null) return null;

  try {
    final doc = await getFirebaseFirestore
        .collection(FireChatConst.roomsCollectionName)
        .doc(roomId)
        .get();

    if (!doc.exists) return null;

    return await processRoomDocument(
      doc,
      fu,
      getFirebaseFirestore,
      FireChatConst.usersCollectionName,
    );
  } catch (e) {
    if (kDebugMode) {
      print('Error getting room by ID: $e');
    }
    return null;
  }
}