mirror of
https://gitlab.com/comunic/comunicmobile
synced 2024-11-21 20:39:22 +00:00
22 lines
728 B
Dart
22 lines
728 B
Dart
import 'package:comunic/lists/abstract_list.dart';
|
|
import 'package:comunic/models/call_member.dart';
|
|
|
|
/// Call members list
|
|
///
|
|
/// @author Pierre Hubert
|
|
|
|
class CallMembersList extends AbstractList<CallMember> {
|
|
/// Get the IDs of the users in this list
|
|
Set<int> get usersID => this.map((f) => f.userID).toSet();
|
|
|
|
/// Remove a specific member from this list
|
|
void removeUser(int? userID) => this.removeWhere((f) => f.userID == userID);
|
|
|
|
/// Get the connection of a specific user
|
|
CallMember getUser(int? userID) => this.firstWhere((f) => f.userID == userID);
|
|
|
|
/// Extract ready peers from this list
|
|
CallMembersList get readyPeers =>
|
|
CallMembersList()..addAll(where((f) => f.status == MemberStatus.READY));
|
|
}
|