tasq/lib/models/team.dart

43 lines
1.0 KiB
Dart

// Extension to add members property to Team
import '../models/team_member.dart';
extension TeamMembersExtension on Team {
List<String> members(List<TeamMember> allMembers) {
return allMembers
.where((m) => m.teamId == id)
.map((m) => m.userId)
.toList();
}
}
class Team {
Team({
required this.id,
required this.name,
required this.leaderId,
required this.officeIds,
required this.createdAt,
this.color,
});
final String id;
final String name;
final String leaderId;
final List<String> officeIds;
final DateTime createdAt;
final String? color;
factory Team.fromMap(Map<String, dynamic> map) {
return Team(
id: map['id'] as String,
name: map['name'] as String? ?? '',
leaderId: map['leader_id'] as String? ?? '',
officeIds:
(map['office_ids'] as List?)?.map((e) => e.toString()).toList() ??
<String>[],
createdAt: DateTime.parse(map['created_at'] as String),
color: map['color'] as String?,
);
}
}