Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class ChatRoom {
- List<User> members = List<User>();
- String chatRoomId;
- String key;
- String roomTitle;
- String lastMessage;
- FieldValue timestamp;
- String chatType;
- List<User> newMembers;
- ChatRoom(this.members, this.chatRoomId, this.roomTitle, this.lastMessage, this.timestamp, this.chatType);
- Map<String, dynamic> toJson() {
- return {
- "members": newMembers = members.map((User user) {
- return user.toJson().cast<User>();
- }).toList(),
- "chatRoomId": chatRoomId,
- "roomTitle": roomTitle,
- "timestamp": timestamp,
- "chatType": chatType,
- "lastMessage": lastMessage,
- };
- }
- }
- class User {
- String key;
- String firstName;
- String uid;
- String lastName;
- String email;
- String city;
- int age;
- int dateOfBirth;
- String gender;
- String profilePic;
- String hereFor;
- String seeking;
- String sexualOrientation;
- String aboutMe;
- String lookingPartner;
- String maritalStatus;
- String country;
- String username;
- int minage;
- int maxage;
- String fcmToken;
- bool invisible;
- double distance;
- String work;
- List<String> hobbies;
- bool hasKids;
- bool verified;
- User(this.firstName, this.uid, this.lastName, this.email, this.city,
- this.age, this.dateOfBirth, this.gender, this.profilePic, this.hereFor,
- this.seeking, this.sexualOrientation, this.aboutMe, this.lookingPartner,
- this.maritalStatus, this.country, this.username, this.minage, this.maxage,
- this.fcmToken, this.invisible, this.distance, this.work, this.hasKids, this.hobbies, this.verified);
- User.fromSnapshot(DocumentSnapshot snapshot) :
- key = snapshot.documentID,
- firstName = snapshot.data['firstName'],
- lastName = snapshot.data['lastName'],
- uid = snapshot.data['uid'],
- email = snapshot.data['email'],
- city = snapshot.data['city'],
- age = snapshot.data['age'],
- dateOfBirth = snapshot.data['dateOfBirth'],
- gender = snapshot.data['gender'],
- profilePic = snapshot.data['profilePic'],
- hereFor = snapshot.data['hereFor'],
- seeking = snapshot.data['seeking'],
- sexualOrientation = snapshot.data['sexualOrientation'],
- aboutMe = snapshot.data['aboutMe'],
- lookingPartner = snapshot.data['lookingPartner'],
- maritalStatus = snapshot.data['maritalStatus'],
- country = snapshot.data['country'],
- username = snapshot.data['username'],
- work = snapshot.data['work'] ?? 'N/A',
- hasKids = snapshot.data['hasKids'] ?? false,
- verified = snapshot.data['verified'] ?? false,
- hobbies = List<String>.from(snapshot.data['hobbies']),
- minage = snapshot.data['minage'],
- maxage = snapshot.data['maxage'],
- fcmToken = snapshot.data['fcmToken'],
- distance = snapshot.data['distance'],
- invisible = snapshot.data['invisible'];
- toJson() {
- return {
- "uid": uid,
- "firstName": firstName,
- "lastName": lastName,
- "age": age,
- "city": city,
- "dateOfBirth": dateOfBirth,
- "gender": gender,
- "profilePic": profilePic,
- "email": email,
- "hereFor": hereFor,
- "seeking": seeking,
- "sexualOrientation": sexualOrientation,
- "aboutMe": aboutMe,
- "lookingPartner": lookingPartner,
- "maritalStatus": maritalStatus,
- "country": country,
- "username": username,
- "maxage": maxage,
- "hobbies": hobbies,
- "verified": verified,
- "hasKids": hasKids,
- "work": work,
- "minage": minage,
- "distance": distance,
- "fcmToken": fcmToken,
- "invisible": invisible
- };
- }
- }
Add Comment
Please, Sign In to add comment