mirror of
https://github.com/immich-app/immich.git
synced 2026-02-17 08:40:14 -05:00
* use adjustment time in iOS for hash reset # Conflicts: # mobile/lib/infrastructure/repositories/local_album.repository.dart # mobile/lib/presentation/pages/drift_asset_troubleshoot.page.dart * migration * feat: sync cloudId and eTag on sync * fixes fixes * more fixes * re-sync updated eTags * add server version check & auto sync cloud ids on compatible servers * fix test * remove button from sync status page * chore: modify for testing * more changes * chore: add commas in toString * use cached provider in splash screen * read upload service provider to prevent reset * log errors from fetching cloud id mapping * WIP: migrate cloud id - debug log * ignore locked asset update * bulk update metadata * change log text --------- Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com> Co-authored-by: Alex <alex.tran1502@gmail.com>
63 lines
1.3 KiB
Dart
63 lines
1.3 KiB
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};
|
|
}
|
|
}
|
|
|
|
class RemoteAssetMobileAppMetadata extends RemoteAssetMetadataValue {
|
|
final String? cloudId;
|
|
final String? createdAt;
|
|
final String? adjustmentTime;
|
|
final String? latitude;
|
|
final String? longitude;
|
|
|
|
const RemoteAssetMobileAppMetadata({
|
|
this.cloudId,
|
|
this.createdAt,
|
|
this.adjustmentTime,
|
|
this.latitude,
|
|
this.longitude,
|
|
});
|
|
|
|
@override
|
|
Map<String, dynamic> toJson() {
|
|
final map = <String, Object?>{};
|
|
if (cloudId != null) {
|
|
map["iCloudId"] = cloudId;
|
|
}
|
|
if (createdAt != null) {
|
|
map["createdAt"] = createdAt;
|
|
}
|
|
if (adjustmentTime != null) {
|
|
map["adjustmentTime"] = adjustmentTime;
|
|
}
|
|
if (latitude != null) {
|
|
map["latitude"] = latitude;
|
|
}
|
|
if (longitude != null) {
|
|
map["longitude"] = longitude;
|
|
}
|
|
|
|
return map;
|
|
}
|
|
}
|