getChatMessages function

List<ChatMessage> getChatMessages(
  1. MediasfuParameters parameters, {
  2. String scope = 'all',
  3. String withPerson = '',
})

Implementation

List<ChatMessage> getChatMessages(
  MediasfuParameters parameters, {
  String scope = 'all',
  String withPerson = '',
}) =>
    parameters.messages
        .map((entry) => ChatMessage(
              sender: entry.sender,
              message: entry.message,
              timestamp: entry.timestamp,
              receivers: List<String>.unmodifiable(entry.receivers),
              direct: entry.receivers.isNotEmpty,
              mine: entry.sender == parameters.member,
            ))
        .where((message) {
      if (scope == 'group' && message.direct) return false;
      if (scope == 'direct' && !message.direct) return false;
      if (withPerson.isNotEmpty) {
        return message.sender == withPerson ||
            message.receivers.contains(withPerson);
      }
      return true;
    }).toList(growable: false);