resendMultipleFilesMessage method

MultipleFilesMessage resendMultipleFilesMessage(
  1. MultipleFilesMessage message, {
  2. MultipleFilesMessageHandler? handler,
  3. FileUploadHandler? fileUploadHandler,
})

Resends multiple files with given file information. message Failed MultipleFilesMessage. @since 4.8.0

Implementation

MultipleFilesMessage resendMultipleFilesMessage(
  MultipleFilesMessage message, {
  MultipleFilesMessageHandler? handler,
  FileUploadHandler? fileUploadHandler,
}) {
  sbLog.i(StackTrace.current, 'message.requestId: ${message.requestId}');
  checkUnsupportedAction();

  if (message.sendingStatus != SendingStatus.failed &&
      message.sendingStatus != SendingStatus.canceled) {
    throw InvalidParameterException();
  }
  if (message.channelUrl != channelUrl) {
    throw InvalidParameterException();
  }
  if (!message.isResendable()) {
    if (message.errorCode == SendbirdError.fileSizeLimitExceeded) {
      throw FileSizeLimitExceededException();
    } else {
      throw InvalidParameterException();
    }
  }

  final params = message.messageCreateParams ??
      MultipleFilesMessageCreateParams.withMessage(message);
  return sendMultipleFilesMessage(
    params,
    handler: handler,
    fileUploadHandler: fileUploadHandler,
    resendMessageId: message.messageId,
  );
}