mirror of
				https://gitlab.com/comunic/comunicmobile
				synced 2025-10-31 18:24:23 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			34 lines
		
	
	
		
			849 B
		
	
	
	
		
			Dart
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			849 B
		
	
	
	
		
			Dart
		
	
	
	
	
	
| import 'dart:collection';
 | |
| 
 | |
| import 'package:comunic/models/conversation.dart';
 | |
| 
 | |
| /// Conversations list
 | |
| ///
 | |
| /// @author Pierre HUBERT
 | |
| 
 | |
| class ConversationsList extends ListBase<Conversation> {
 | |
|   final List<Conversation> _list = [];
 | |
| 
 | |
|   set length(l) => _list.length = l;
 | |
| 
 | |
|   int get length => _list.length;
 | |
| 
 | |
|   @override
 | |
|   Conversation operator [](int index) => _list[index];
 | |
| 
 | |
|   @override
 | |
|   void operator []=(int index, Conversation value) => _list[index] = value;
 | |
| 
 | |
|   /// Get the entire lists of users ID in this list
 | |
|   Set<int> get allUsersID {
 | |
|     final Set<int> list = Set();
 | |
|     forEach((c) => c.members.forEach((member) => list.add(member.userID)));
 | |
|     return list;
 | |
|   }
 | |
| 
 | |
|   /// Get the entire lists of groups ID in this list
 | |
|   Set<int> get allGroupsID => where((element) => element.isGroupConversation)
 | |
|       .map((e) => e.groupID)
 | |
|       .toSet();
 | |
| }
 |