CubeMessage.fromJson constructor

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

Implementation

CubeMessage.fromJson(Map<String, dynamic> json) {
  for (String property in json.keys) {
    switch (property) {
      case '_id':
        messageId = json[property];
        break;
      case 'chat_dialog_id':
        dialogId = json[property];
        break;
      case 'message':
        body = json[property];
        break;
      case 'date_sent':
        dateSent = json[property];
        break;
      case 'sender_id':
        senderId = json[property];
        break;
      case 'recipient_id':
        recipientId = json[property];
        break;
      case 'views_count':
        viewsCount = json[property];
        break;
      case 'read_ids':
        readIds = List.of(json[property]).map((id) => id as int).toList();
        break;
      case 'delivered_ids':
        deliveredIds =
            List.of(json[property]).map((id) => id as int).toList();
        break;
      case 'attachments':
        attachments = List.of(json[property])
            .map((element) => CubeAttachment.fromJson(element))
            .toList();
        break;
      case 'reactions':
        var reactionsRaw = json[property];
        reactions = reactionsRaw == null
            ? null
            : CubeMessageReactions.fromJson(json[property]);
        break;
      case 'read':
        isRead = json[property] == 1;
        break;
      case 'created_at':
        createdAt = DateTime.parse(json[property]);
        break;
      case 'updated_at':
        updatedAt = DateTime.parse(json[property]);
        break;
      default:
        properties[property] = json[property].toString();
    }
  }
}