ModelFile.fromJson constructor

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

Creates a model file instance from a JSON map.

Implementation

factory ModelFile.fromJson(Map<String, dynamic> json) {
  return ModelFile(
    id: json['id'] as int? ?? 0, // Default to 0 for tests
    name: json['name'] as String? ?? 'Unknown file', // Default for tests
    sizeKB: (json['sizeKB'] as num?)?.toDouble() ?? 0.0, // Default for tests
    type: json['type'] != null
        ? FileType.fromString(json['type'] as String)
        : FileType.unknown, // Default for tests
    hashes: json['hashes'] != null
        ? (json['hashes'] as Map<String, dynamic>).map(
            (k, v) => MapEntry(k, v as String? ?? ''),
          )
        : null,
    downloadUrl: json['downloadUrl'] as String?,
    primary: json['primary'] as bool? ?? false, // Default for tests
    metadata: json['metadata'] as Map<String, dynamic>?,
  );
}