Files
immich/mobile/lib/domain/models/asset/asset_metadata.model.dart
T
Adam Gastineau 2ccd0effc8 chore(mobile): enable dead code CI (#31753)
* chore(mobile): enable dead code CI

* Restore accidentally removed test and set mise default
2026-09-24 06:57:06 -07:00

54 lines
1.2 KiB
Dart

// Types are used for direct JSON serialization
// ignore_for_file: unused-code
import 'package:freezed_annotation/freezed_annotation.dart';
part 'asset_metadata.model.freezed.dart';
enum RemoteAssetMetadataKey {
mobileApp("mobile-app");
final String key;
const RemoteAssetMetadataKey(this.key);
}
abstract class RemoteAssetMetadataValue {
const RemoteAssetMetadataValue();
Map<String, dynamic> toJson();
}
class RemoteAssetMetadataItem {
final RemoteAssetMetadataKey key;
final RemoteAssetMetadataValue value;
const RemoteAssetMetadataItem({required this.key, required this.value});
Map<String, Object?> toJson() {
return {'key': key.key, 'value': value};
}
}
@freezed
abstract class RemoteAssetMobileAppMetadata extends RemoteAssetMetadataValue with _$RemoteAssetMobileAppMetadata {
const factory RemoteAssetMobileAppMetadata({
String? cloudId,
String? createdAt,
String? adjustmentTime,
String? latitude,
String? longitude,
}) = _RemoteAssetMobileAppMetadata;
const RemoteAssetMobileAppMetadata._();
@override
Map<String, dynamic> toJson() => {
'iCloudId': ?cloudId,
'createdAt': ?createdAt,
'adjustmentTime': ?adjustmentTime,
'latitude': ?latitude,
'longitude': ?longitude,
};
}