setBody method

  1. @override
void setBody(
  1. RestRequest request
)
override

Implementation

@override
setBody(RestRequest request) {
  Map<String?, dynamic> parameters = request.params;

  if (message.dialogId == null && message.recipientId == null) {
    throw IllegalArgumentException(
        "'chat_dialog_id' or 'recipient_id' required");
  } else if (message.dialogId != null) {
    parameters['chat_dialog_id'] = message.dialogId;
  } else if (message.recipientId != null) {
    parameters['recipient_id'] = message.recipientId;
  }

  if (!isEmpty(message.body)) {
    parameters['message'] = message.body;
  }

  if (sendToChat) parameters['send_to_chat'] = 1;

  if (message.properties.isNotEmpty) {
    parameters.addAll(message.properties);
  }

  Map<String, dynamic> attachments;
  if (message.attachments != null && message.attachments!.isNotEmpty) {
    attachments = {};

    for (int i = 0; i < message.attachments!.length; i++) {
      attachments[i.toString()] = message.attachments![i];
    }

    parameters['attachments'] = attachments;
  }
}