mirror of
https://github.com/immich-app/immich.git
synced 2024-12-29 15:11:58 +00:00
feat(mobile): upload image assets before videos (#3872)
* feat(mobile): upload image assets before videos * mobile: sort by creation date before uploading assets
This commit is contained in:
parent
cb391342d7
commit
912a13ea0d
1 changed files with 14 additions and 2 deletions
|
@ -218,7 +218,18 @@ class BackupService {
|
|||
bool anyErrors = false;
|
||||
final List<String> duplicatedAssetIds = [];
|
||||
|
||||
for (var entity in assetList) {
|
||||
// Upload images before video assets
|
||||
// these are further sorted by using their creation date so the upload goes as follows
|
||||
// older images -> latest images -> older videos -> latest videos
|
||||
List<AssetEntity> sortedAssets = assetList.sorted(
|
||||
(a, b) {
|
||||
final cmp = a.typeInt - b.typeInt;
|
||||
if (cmp != 0) return cmp;
|
||||
return a.createDateTime.compareTo(b.createDateTime);
|
||||
},
|
||||
);
|
||||
|
||||
for (var entity in sortedAssets) {
|
||||
try {
|
||||
if (entity.type == AssetType.video) {
|
||||
file = await entity.originFile;
|
||||
|
@ -248,7 +259,8 @@ class BackupService {
|
|||
|
||||
req.fields['deviceAssetId'] = entity.id;
|
||||
req.fields['deviceId'] = deviceId;
|
||||
req.fields['fileCreatedAt'] = entity.createDateTime.toUtc().toIso8601String();
|
||||
req.fields['fileCreatedAt'] =
|
||||
entity.createDateTime.toUtc().toIso8601String();
|
||||
req.fields['fileModifiedAt'] =
|
||||
entity.modifiedDateTime.toUtc().toIso8601String();
|
||||
req.fields['isFavorite'] = entity.isFavorite.toString();
|
||||
|
|
Loading…
Reference in a new issue