fromJson static method

APITicketFile? fromJson(
  1. dynamic value
)

Returns a new APITicketFile instance and imports its values from value if it's a Map, null otherwise.

Implementation

// ignore: prefer_constructors_over_static_methods
static APITicketFile? fromJson(dynamic value) {
  if (value is Map) {
    final json = value.cast<String, dynamic>();

    // Ensure that the map contains the required keys.
    // Note 1: the values aren't checked for validity beyond being non-null.
    // Note 2: this code is stripped in release mode!
    assert(() {
      assert(json.containsKey(r'id'), 'Required key "APITicketFile[id]" is missing from JSON.');
      assert(json[r'id'] != null, 'Required key "APITicketFile[id]" has a null value in JSON.');
      assert(json.containsKey(r's3Key'), 'Required key "APITicketFile[s3Key]" is missing from JSON.');
      assert(json[r's3Key'] != null, 'Required key "APITicketFile[s3Key]" has a null value in JSON.');
      assert(json.containsKey(r'originalFileName'), 'Required key "APITicketFile[originalFileName]" is missing from JSON.');
      assert(json[r'originalFileName'] != null, 'Required key "APITicketFile[originalFileName]" has a null value in JSON.');
      assert(json.containsKey(r'sizeBytes'), 'Required key "APITicketFile[sizeBytes]" is missing from JSON.');
      assert(json[r'sizeBytes'] != null, 'Required key "APITicketFile[sizeBytes]" has a null value in JSON.');
      assert(json.containsKey(r'contentType'), 'Required key "APITicketFile[contentType]" is missing from JSON.');
      assert(json[r'contentType'] != null, 'Required key "APITicketFile[contentType]" has a null value in JSON.');
      assert(json.containsKey(r'uploadedByUserId'), 'Required key "APITicketFile[uploadedByUserId]" is missing from JSON.');
      assert(json[r'uploadedByUserId'] != null, 'Required key "APITicketFile[uploadedByUserId]" has a null value in JSON.');
      assert(json.containsKey(r'uploadedAt'), 'Required key "APITicketFile[uploadedAt]" is missing from JSON.');
      assert(json[r'uploadedAt'] != null, 'Required key "APITicketFile[uploadedAt]" has a null value in JSON.');
      assert(json.containsKey(r'url'), 'Required key "APITicketFile[url]" is missing from JSON.');
      assert(json[r'url'] != null, 'Required key "APITicketFile[url]" has a null value in JSON.');
      assert(json.containsKey(r'expiresAt'), 'Required key "APITicketFile[expiresAt]" is missing from JSON.');
      assert(json[r'expiresAt'] != null, 'Required key "APITicketFile[expiresAt]" has a null value in JSON.');
      return true;
    }());

    return APITicketFile(
      id: mapValueOfType<String>(json, r'id')!,
      s3Key: mapValueOfType<String>(json, r's3Key')!,
      originalFileName: mapValueOfType<String>(json, r'originalFileName')!,
      sizeBytes: mapValueOfType<int>(json, r'sizeBytes')!,
      contentType: mapValueOfType<String>(json, r'contentType')!,
      uploadedByUserId: mapValueOfType<String>(json, r'uploadedByUserId')!,
      uploadedAt: mapValueOfType<String>(json, r'uploadedAt')!,
      url: mapValueOfType<String>(json, r'url')!,
      expiresAt: mapValueOfType<String>(json, r'expiresAt')!,
      expired: mapValueOfType<bool>(json, r'expired'),
    );
  }
  return null;
}