mirror of
https://github.com/immich-app/immich.git
synced 2025-11-04 11:33:11 -05:00
send cloudId during upload
# Conflicts: # mobile/lib/services/upload.service.dart
This commit is contained in:
parent
816fb1746a
commit
36680e4279
20
mobile/lib/domain/models/asset/metadata.model.dart
Normal file
20
mobile/lib/domain/models/asset/metadata.model.dart
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
class AssetMetadata {
|
||||||
|
final String? cloudId;
|
||||||
|
|
||||||
|
const AssetMetadata({this.cloudId});
|
||||||
|
|
||||||
|
Map<String, dynamic> toMap() {
|
||||||
|
return {
|
||||||
|
"metadata": [
|
||||||
|
{
|
||||||
|
"key": "mobile-app",
|
||||||
|
"value": cloudId != null ? {"iCloudId": cloudId} : {},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
String toJson() => json.encode(toMap());
|
||||||
|
}
|
||||||
@ -7,6 +7,7 @@ import 'package:flutter/material.dart';
|
|||||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||||
import 'package:immich_mobile/constants/constants.dart';
|
import 'package:immich_mobile/constants/constants.dart';
|
||||||
import 'package:immich_mobile/domain/models/asset/base_asset.model.dart';
|
import 'package:immich_mobile/domain/models/asset/base_asset.model.dart';
|
||||||
|
import 'package:immich_mobile/domain/models/asset/metadata.model.dart';
|
||||||
import 'package:immich_mobile/domain/models/store.model.dart';
|
import 'package:immich_mobile/domain/models/store.model.dart';
|
||||||
import 'package:immich_mobile/entities/store.entity.dart';
|
import 'package:immich_mobile/entities/store.entity.dart';
|
||||||
import 'package:immich_mobile/infrastructure/repositories/backup.repository.dart';
|
import 'package:immich_mobile/infrastructure/repositories/backup.repository.dart';
|
||||||
@ -291,6 +292,7 @@ class UploadService {
|
|||||||
priority: priority,
|
priority: priority,
|
||||||
isFavorite: asset.isFavorite,
|
isFavorite: asset.isFavorite,
|
||||||
requiresWiFi: requiresWiFi,
|
requiresWiFi: requiresWiFi,
|
||||||
|
cloudId: asset.cloudId,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -320,6 +322,7 @@ class UploadService {
|
|||||||
priority: 0, // Highest priority to get upload immediately
|
priority: 0, // Highest priority to get upload immediately
|
||||||
isFavorite: asset.isFavorite,
|
isFavorite: asset.isFavorite,
|
||||||
requiresWiFi: requiresWiFi,
|
requiresWiFi: requiresWiFi,
|
||||||
|
cloudId: asset.cloudId,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -346,6 +349,7 @@ class UploadService {
|
|||||||
String? metadata,
|
String? metadata,
|
||||||
int? priority,
|
int? priority,
|
||||||
bool? isFavorite,
|
bool? isFavorite,
|
||||||
|
String? cloudId,
|
||||||
bool requiresWiFi = true,
|
bool requiresWiFi = true,
|
||||||
}) async {
|
}) async {
|
||||||
final serverEndpoint = Store.get(StoreKey.serverEndpoint);
|
final serverEndpoint = Store.get(StoreKey.serverEndpoint);
|
||||||
@ -361,6 +365,7 @@ class UploadService {
|
|||||||
'fileModifiedAt': modifiedAt.toUtc().toIso8601String(),
|
'fileModifiedAt': modifiedAt.toUtc().toIso8601String(),
|
||||||
'isFavorite': isFavorite?.toString() ?? 'false',
|
'isFavorite': isFavorite?.toString() ?? 'false',
|
||||||
'duration': '0',
|
'duration': '0',
|
||||||
|
'metadata': AssetMetadata(cloudId: cloudId).toJson(),
|
||||||
if (fields != null) ...fields,
|
if (fields != null) ...fields,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user