toJson method

Map<String, dynamic> toJson()

Implementation

Map<String, dynamic> toJson() {
  final Map<String, dynamic> data = <String, dynamic>{};
  data['elem_type'] = elemType;
  data['message_conv_type'] = _messageConvType;
  data['message_is_from_self'] = isSelf;
  data['message_sender'] = sender;
  data['message_sender_tiny_id'] = _senderTinyID;
  data['message_receiver_tiny_id'] = _receiverTinyID;
  data['message_priority'] = priority;
  data['message_client_time'] = _clientTime;
  data['message_server_time'] = _serverTime;
  data['message_platform'] = _platform;
  data['message_is_online_msg'] = isOnlineOnly;
  data['message_is_read'] = isRead;
  data['message_is_peer_read'] = isPeerRead;
  data['message_receipt_peer_read'] = _receiptPeerRead;
  data['message_need_read_receipt'] = needReadReceipt;
  data['message_has_sent_receipt'] = _messageHasSentReceipt;
  data['message_group_receipt_read_count'] = _messageGroupReceiptReadCount;
  data['message_group_receipt_unread_count'] = _messageGroupReceiptUnreadCount;
  data['message_support_message_extension'] = isSupportMessageExtension;
  data['message_version'] = _messageVersion;
  data['message_status'] = status;
  data['message_seq'] = seq != null ? int.tryParse(seq!) : seq;
  data['message_rand'] = random;
  data['message_custom_int'] = localCustomInt;
  data['message_custom_str'] = localCustomData;
  data['message_cloud_custom_str'] = cloudCustomData;
  data['message_is_excluded_from_unread_count'] = isExcludedFromUnreadCount;
  data['message_is_forward_message'] = isForwardMessage;
  data['message_excluded_from_last_message'] = isExcludedFromLastMessage;
  data['message_excluded_from_content_moderation'] = isExcludedFromContentModeration;
  data['message_custom_moderation_configuration_id'] = _customModerationConfigurationID;
  data['message_risk_type_identified'] = _riskTypeIdentified;
  data['message_disable_cloud_message_pre_hook'] = isDisableCloudMessagePreHook;
  data['message_disable_cloud_message_post_hook'] = isDisableCloudMessagePostHook;
  data['message_revoker_user_id'] = _revokerUserID;
  data['message_revoker_nick_name'] = _revokerNickname;
  data['message_revoker_face_url'] = _revokerFaceUrl;
  data['message_revoke_reason'] = revokeReason;
  data['message_pinner_user_id'] = _pinnerUserID;
  data['message_pinner_nick_name'] = _pinnerNickname;
  data['message_pinner_friend_remark'] = _pinnerRemark;
  data['message_pinner_name_card'] = _pinnerNameCard;
  data['message_pinner_face_url'] = _pinnerFaceUrl;
  data['message_target_group_member_array'] = targetGroupMemberList;
  data['message_conv_id'] = _messageConvID;
  data['message_group_at_user_array'] = groupAtUserList;
  data['message_sender_profile'] = senderProfile?.toJson();
  if (senderProfile != null) {
    data['message_sender_profile']['user_profile_friend_remark'] = friendRemark;
  }
  data['message_sender_group_member_info'] = senderGroupMemberInfo?.toJson();
  data['message_offline_push_config'] = offlinePushInfo?.toJson();
  data['message_elem_array'] = elemList.map((e) => e.toJson()).toList();

  data['id'] = id;
  data['progress'] = progress;
  if (msgID != null && !msgID!.startsWith(createIDPrefix)) {
    data['message_msg_id'] = msgID;
  }
  return data;
}