parse static method

List<PamPushMessage> parse(
  1. String jsonStr
)

Implementation

static List<PamPushMessage> parse(String jsonStr) {
  Map<String, dynamic> map = jsonDecode(jsonStr);
  List<PamPushMessage> result = [];

  var items = map["items"] as List<dynamic>;

  for (var element in items) {
    Map<String, dynamic> json = element;

    String? deliverID = json["deliver_id"];
    String? pixel = json["pixel"];
    String? title = json["title"];
    String? description = json["description"];
    String? thumbnailUrl = json["thumbnail_url"];
    String? flex = json["flex"];
    String? url = json["url"];

    var payloadJson = json["json_data"]["pam"] as Map<String, dynamic>;
    String? popupType = payloadJson["popupType"];

    var dateString = json["created_date"];
    DateTime date = DateTime.parse(dateString);

    bool isOpen = json["is_open"];

    var item = PamPushMessage(
        deliverID: deliverID,
        pixel: pixel,
        title: title,
        description: description,
        thumbnailUrl: thumbnailUrl,
        flex: flex,
        url: url,
        popupType: popupType,
        date: date,
        isOpen: isOpen,
        data: payloadJson);

    result.add(item);
  }

  return result;
}