toJson method

Map<String, dynamic> toJson()

Implementation

Map<String, dynamic> toJson() {
  final _data = <String, dynamic>{
    'last_message_id': lastMessageId,
    'user_ids': userIds,
    'typing_user_ids': typingUserIds,
    'pinned_chat_user_ids': pinnedChatUserIds,
    'chat_request_status': chatRequestStatus?.index,
    'chat_request_sender_id': chatRequestSenderId,
    'created_at': createdAt,
    'updated_at': updatedAt,
    ...extraData,
  };

  final _unreadMessages = unreadMessages ?? [];

  _unreadMessages.forEach((element) {
    if (element.uid != null) {
      _data['z_${element.uid}_unread_messages'] = element.unreadMessagesCount;
    }
  });

  return _data..removeWhere((key, value) => value == null);
}