toInteractiveMessage method

InteractiveMessage toInteractiveMessage()

Converts the SchedulerMessage to an InteractiveMessage.

Implementation

InteractiveMessage toInteractiveMessage() {
  interactiveData[ModelFieldConstants.submitElement] =
      scheduleElement?.toMap();
  if (Utils.isValidString(title)) {
    interactiveData[ModelFieldConstants.title] = title;
  }
  if (Utils.isValidString(goalCompletionText)) {
    interactiveData[ModelFieldConstants.goalCompletionText] =
        goalCompletionText;
  }

  if (Utils.isValidString(avatarUrl)) {
    interactiveData[ModelFieldConstants.avatarUrl] = avatarUrl;
  }

  if (Utils.isValidString(icsFileUrl)) {
    interactiveData[ModelFieldConstants.icsFileUrl] = icsFileUrl;
  }

  if (Utils.isValidString(timezoneCode)) {
    interactiveData[ModelFieldConstants.timezoneCode] = timezoneCode;
  }

  if (Utils.isValidInteger(bufferTime)) {
    interactiveData[ModelFieldConstants.bufferTime] = bufferTime;
  }

  if (Utils.isValidInteger(duration)) {
    interactiveData[ModelFieldConstants.duration] = duration;
  }

  if (Utils.isValidString(dateRangeStart)) {
    interactiveData[ModelFieldConstants.dateRangeStart] = dateRangeStart;
  }

  if (Utils.isValidString(dateRangeEnd)) {
    interactiveData[ModelFieldConstants.dateRangeEnd] = dateRangeEnd;
  }

  interactiveData[ModelFieldConstants.scheduleElement] =
      scheduleElement?.toMap();

  interactiveData[ModelFieldConstants.availability] =
      SchedulerUtils.getAvailabilityJson(availability);

  return this;
}