saveMessages method

  1. @override
Future<ChatResult<void>> saveMessages(
  1. String roomId,
  2. List<ChatMessage> messages
)
override

Implementation

@override
Future<ChatResult<void>> saveMessages(
  String roomId,
  List<ChatMessage> messages,
) async {
  final existing = _messages[roomId] ?? [];
  final merged = <String, ChatMessage>{};
  for (final m in existing) {
    merged[m.id] = m;
  }
  for (final m in messages) {
    merged[m.id] = m;
  }
  _messages[roomId] = merged.values.toList()
    ..sort((a, b) => b.timestamp.compareTo(a.timestamp));
  return const ChatSuccess(null);
}