toInteractiveMessage method
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;
}