Initial commit for teams module

This commit is contained in:
2026-02-12 06:58:18 +08:00
parent 678a73a696
commit a80f09b9c0
7 changed files with 547 additions and 1 deletions
+39
View File
@@ -0,0 +1,39 @@
// 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,
});
final String id;
final String name;
final String leaderId;
final List<String> officeIds;
final DateTime createdAt;
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),
);
}
}