CloudGroup.fromDocument constructor

CloudGroup.fromDocument(
  1. dynamic doc
)

Factory constructor to create a CloudGroup from a Firestore document snapshot.

This is used when retrieving a single group from Firestore.

Implementation

factory CloudGroup.fromDocument(DocumentSnapshot<Map<String, dynamic>> doc) {
  final data = doc.data();
  if (data == null) {
    throw Exception("Document \\${doc.id} does not exist.");
  }
  return CloudGroup(
    documentId: doc.id,
    ownerUserId: data[ownerUserIdFieldName] as String,
    title: data[titleFieldName] as String,
    description: data[descriptionFieldName] as String?,
    participants:
        (data[participantsFieldName] as List<dynamic>?)?.cast<String>() ?? [],
    inviteCode: data[inviteCodeFieldName] as String,
    adminIds: (data[groupAdminIdsFieldName] as List<dynamic>?)?.cast<String>() ?? [],
  );
}