28 lines
608 B
Dart
28 lines
608 B
Dart
import 'package:travel_mate/models/user.dart';
|
|
|
|
class Group {
|
|
final String? id;
|
|
final String name;
|
|
final List<User> members;
|
|
|
|
Group({
|
|
this.id,
|
|
required this.name,
|
|
required this.members,
|
|
});
|
|
|
|
factory Group.fromMap(Map<String, dynamic> data, String documentId) {
|
|
return Group(
|
|
id: documentId,
|
|
name: data['name'] ?? '',
|
|
members: List<User>.from(data['members']?.map((member) => User.fromMap(member)) ?? []),
|
|
);
|
|
}
|
|
|
|
Map<String, dynamic> toMap() {
|
|
return {
|
|
'name': name,
|
|
'members': members.map((member) => member.toMap()).toList(),
|
|
};
|
|
}
|
|
} |