123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- import 'dart:convert';
- class ImmichExif {
- final int? id;
- final String? assetId;
- final String? make;
- final String? model;
- final String? imageName;
- final int? exifImageWidth;
- final int? exifImageHeight;
- final int? fileSizeInByte;
- final String? orientation;
- final String? dateTimeOriginal;
- final String? modifyDate;
- final String? lensModel;
- final double? fNumber;
- final double? focalLength;
- final int? iso;
- final double? exposureTime;
- final double? latitude;
- final double? longitude;
- ImmichExif({
- this.id,
- this.assetId,
- this.make,
- this.model,
- this.imageName,
- this.exifImageWidth,
- this.exifImageHeight,
- this.fileSizeInByte,
- this.orientation,
- this.dateTimeOriginal,
- this.modifyDate,
- this.lensModel,
- this.fNumber,
- this.focalLength,
- this.iso,
- this.exposureTime,
- this.latitude,
- this.longitude,
- });
- ImmichExif copyWith({
- int? id,
- String? assetId,
- String? make,
- String? model,
- String? imageName,
- int? exifImageWidth,
- int? exifImageHeight,
- int? fileSizeInByte,
- String? orientation,
- String? dateTimeOriginal,
- String? modifyDate,
- String? lensModel,
- double? fNumber,
- double? focalLength,
- int? iso,
- double? exposureTime,
- double? latitude,
- double? longitude,
- }) {
- return ImmichExif(
- id: id ?? this.id,
- assetId: assetId ?? this.assetId,
- make: make ?? this.make,
- model: model ?? this.model,
- imageName: imageName ?? this.imageName,
- exifImageWidth: exifImageWidth ?? this.exifImageWidth,
- exifImageHeight: exifImageHeight ?? this.exifImageHeight,
- fileSizeInByte: fileSizeInByte ?? this.fileSizeInByte,
- orientation: orientation ?? this.orientation,
- dateTimeOriginal: dateTimeOriginal ?? this.dateTimeOriginal,
- modifyDate: modifyDate ?? this.modifyDate,
- lensModel: lensModel ?? this.lensModel,
- fNumber: fNumber ?? this.fNumber,
- focalLength: focalLength ?? this.focalLength,
- iso: iso ?? this.iso,
- exposureTime: exposureTime ?? this.exposureTime,
- latitude: latitude ?? this.latitude,
- longitude: longitude ?? this.longitude,
- );
- }
- Map<String, dynamic> toMap() {
- return {
- 'id': id,
- 'assetId': assetId,
- 'make': make,
- 'model': model,
- 'imageName': imageName,
- 'exifImageWidth': exifImageWidth,
- 'exifImageHeight': exifImageHeight,
- 'fileSizeInByte': fileSizeInByte,
- 'orientation': orientation,
- 'dateTimeOriginal': dateTimeOriginal,
- 'modifyDate': modifyDate,
- 'lensModel': lensModel,
- 'fNumber': fNumber,
- 'focalLength': focalLength,
- 'iso': iso,
- 'exposureTime': exposureTime,
- 'latitude': latitude,
- 'longitude': longitude,
- };
- }
- factory ImmichExif.fromMap(Map<String, dynamic> map) {
- return ImmichExif(
- id: map['id']?.toInt(),
- assetId: map['assetId'],
- make: map['make'],
- model: map['model'],
- imageName: map['imageName'],
- exifImageWidth: map['exifImageWidth']?.toInt(),
- exifImageHeight: map['exifImageHeight']?.toInt(),
- fileSizeInByte: map['fileSizeInByte']?.toInt(),
- orientation: map['orientation'],
- dateTimeOriginal: map['dateTimeOriginal'],
- modifyDate: map['modifyDate'],
- lensModel: map['lensModel'],
- fNumber: map['fNumber']?.toDouble(),
- focalLength: map['focalLength']?.toDouble(),
- iso: map['iso']?.toInt(),
- exposureTime: map['exposureTime']?.toDouble(),
- latitude: map['latitude']?.toDouble(),
- longitude: map['longitude']?.toDouble(),
- );
- }
- String toJson() => json.encode(toMap());
- factory ImmichExif.fromJson(String source) => ImmichExif.fromMap(json.decode(source));
- @override
- String toString() {
- return 'ImmichExif(id: $id, assetId: $assetId, make: $make, model: $model, imageName: $imageName, exifImageWidth: $exifImageWidth, exifImageHeight: $exifImageHeight, fileSizeInByte: $fileSizeInByte, orientation: $orientation, dateTimeOriginal: $dateTimeOriginal, modifyDate: $modifyDate, lensModel: $lensModel, fNumber: $fNumber, focalLength: $focalLength, iso: $iso, exposureTime: $exposureTime, latitude: $latitude, longitude: $longitude)';
- }
- @override
- bool operator ==(Object other) {
- if (identical(this, other)) return true;
- return other is ImmichExif &&
- other.id == id &&
- other.assetId == assetId &&
- other.make == make &&
- other.model == model &&
- other.imageName == imageName &&
- other.exifImageWidth == exifImageWidth &&
- other.exifImageHeight == exifImageHeight &&
- other.fileSizeInByte == fileSizeInByte &&
- other.orientation == orientation &&
- other.dateTimeOriginal == dateTimeOriginal &&
- other.modifyDate == modifyDate &&
- other.lensModel == lensModel &&
- other.fNumber == fNumber &&
- other.focalLength == focalLength &&
- other.iso == iso &&
- other.exposureTime == exposureTime &&
- other.latitude == latitude &&
- other.longitude == longitude;
- }
- @override
- int get hashCode {
- return id.hashCode ^
- assetId.hashCode ^
- make.hashCode ^
- model.hashCode ^
- imageName.hashCode ^
- exifImageWidth.hashCode ^
- exifImageHeight.hashCode ^
- fileSizeInByte.hashCode ^
- orientation.hashCode ^
- dateTimeOriginal.hashCode ^
- modifyDate.hashCode ^
- lensModel.hashCode ^
- fNumber.hashCode ^
- focalLength.hashCode ^
- iso.hashCode ^
- exposureTime.hashCode ^
- latitude.hashCode ^
- longitude.hashCode;
- }
- }
|