jsonDictionaryForMessage static method

Map<String, dynamic> jsonDictionaryForMessage(
  1. MBMessage message
)

Converts a message to a JSON map @param message The message to convert. @returns The JSON representation of the message.

Implementation

static Map<String, dynamic> jsonDictionaryForMessage(MBMessage message) {
  Map<String, dynamic> dictionary = {
    'id': message.id,
    'title': message.title,
    'messageDescription': message.messageDescription,
    'type': _stringForMessageType(message.messageType),
    'createdAt': message.createdAt.millisecondsSinceEpoch ~/ 1000,
    'startDate': message.startDate != null
        ? message.startDate!.millisecondsSinceEpoch ~/ 1000
        : null,
    'endDate': message.endDate != null
        ? message.endDate!.millisecondsSinceEpoch ~/ 1000
        : null,
    'automationIsOn': message.automationIsOn,
    'sendAfterDays': message.sendAfterDays,
    'repeatTimes': message.repeatTimes,
  };

  if (message.inAppMessage != null) {
    dictionary['inAppMessage'] =
        MBInAppMessageSavingUtility.jsonDictionaryForInAppMessage(
            message.inAppMessage!);
  }

  if (message.pushMessage != null) {
    dictionary['push'] =
        MBPushMessageSavingUtility.jsonDictionaryForPushMessage(
            message.pushMessage!);
  }

  if (message.triggers != null) {
    if (message.triggers is MBMessageTriggers) {
      MBMessageTriggers triggers = message.triggers;
      dictionary['triggers'] = triggers.toJsonDictionary();
    }
  }

  return dictionary;
}