ChatMessage.fromJson constructor

ChatMessage.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory ChatMessage.fromJson(Map<String, dynamic> json) => ChatMessage(
      chatUserJid: json["chatUserJid"] ?? "",
      contactType: json["contactType"] == "unknown"
          ? "unknown_contact"
          : json["contactType"] == "live"
              ? "live_contact"
              : json["contactType"] == "local"
                  ? "local_contact"
                  : json["contactType"] == "deleted"
                      ? "deleted_contact"
                      : json["contactType"] ?? "",
      isItCarbonMessage: Platform.isAndroid
          ? json["isItCarbonMessage"] ?? false
          : json["isCarbonMessage"] ?? false,
      isItSavedContact: Platform.isAndroid
          ? json["isItSavedContact"] ?? false
          : json["isSavedContact"] ?? false,
      isMessageDeleted: json["isMessageDeleted"],
      isMessageRecalled: json["isMessageRecalled"].toString().toBool(),
      isMessageSentByMe: json["isMessageSentByMe"],
      isMessageStarred: json["isMessageStarred"].toString().toBool(),
      isThisAReplyMessage: Platform.isAndroid
          ? json["isThisAReplyMessage"]
          : json["isReplyMessage"],
      isSelected: json["isSelected"],
      mentionedUsersIds: json["mentionedUsersIds"] == null
          ? []
          : List<dynamic>.from(json["mentionedUsersIds"]!.map((x) => x)),
      messageChatType: json["messageChatType"] == "singleChat"
          ? "chat"
          : json["messageChatType"].toLowerCase(),
      messageCustomField: json["messageCustomField"] ?? {},
      messageId: json["messageId"],
      messageSentTime: json["messageSentTime"].toInt(),
      messageStatus: Platform.isAndroid
          ? (json["messageStatus"]["status"]).toString()
          : json["messageStatus"] == 2
              ? "A"
              : json["messageStatus"] == 3
                  ? "D"
                  : json["messageStatus"] == 4
                      ? "S"
                      : json["messageStatus"] == 5
                          ? "R"
                          : "N",
      //"N" for "sent" in iOS
      messageTextContent: json["messageTextContent"].toString(),
      messageType: json["messageType"].toString().toUpperCase() == "FILE"
          ? "DOCUMENT"
          : json["messageType"].toString().toUpperCase(),
      replyParentChatMessage: json["replyParentChatMessage"] == null
          ? null
          : ReplyParentChatMessage.fromJson(json["replyParentChatMessage"]),
      senderNickName: json["senderNickName"],
      senderUserJid: json["senderUserJid"],
      senderUserName: json["senderUserName"],
      contactChatMessage: json["contactChatMessage"] == null
          ? null
          : ContactChatMessage.fromJson(json["contactChatMessage"]),
      mediaChatMessage: json["mediaChatMessage"] == null
          ? null
          : MediaChatMessage.fromJson(json["mediaChatMessage"]),
      locationChatMessage: json["locationChatMessage"] == null
          ? null
          : LocationChatMessage.fromJson(json["locationChatMessage"]),
    );