commit
18366b8dec
2 changed files with 14 additions and 21 deletions
|
@ -39,10 +39,9 @@ class TrashSyncService {
|
|||
_logger.fine("inserting ${diff.trashedFiles.length} items in trash");
|
||||
await _trashDB.insertMultiple(diff.trashedFiles);
|
||||
}
|
||||
if (diff.deletedFiles.isNotEmpty) {
|
||||
_logger.fine("discard ${diff.deletedFiles.length} deleted items");
|
||||
await _trashDB
|
||||
.delete(diff.deletedFiles.map((e) => e.uploadedFileID).toList());
|
||||
if (diff.deletedUploadIDs.isNotEmpty) {
|
||||
_logger.fine("discard ${diff.deletedUploadIDs.length} deleted items");
|
||||
await _trashDB.delete(diff.deletedUploadIDs);
|
||||
}
|
||||
if (diff.restoredFiles.isNotEmpty) {
|
||||
_logger.fine("discard ${diff.restoredFiles.length} restored items");
|
||||
|
@ -68,12 +67,6 @@ class TrashSyncService {
|
|||
ignoredFiles.add(file);
|
||||
}
|
||||
}
|
||||
for (TrashFile t in diff.deletedFiles) {
|
||||
final file = IgnoredFile.fromTrashItem(t);
|
||||
if (file != null) {
|
||||
ignoredFiles.add(file);
|
||||
}
|
||||
}
|
||||
if (ignoredFiles.isNotEmpty) {
|
||||
_logger.fine('updating ${ignoredFiles.length} ignored files ');
|
||||
await IgnoredFilesService.instance.cacheAndInsert(ignoredFiles);
|
||||
|
|
|
@ -18,7 +18,7 @@ class TrashDiffFetcher {
|
|||
Future<Diff> getTrashFilesDiff(int sinceTime) async {
|
||||
try {
|
||||
final response = await _dio.get(
|
||||
Configuration.instance.getHttpEndpoint() + "/trash/diff",
|
||||
Configuration.instance.getHttpEndpoint() + "/trash/v2/diff",
|
||||
options: Options(
|
||||
headers: {"X-Auth-Token": Configuration.instance.getToken()}),
|
||||
queryParameters: {
|
||||
|
@ -27,13 +27,17 @@ class TrashDiffFetcher {
|
|||
);
|
||||
int latestUpdatedAtTime = 0;
|
||||
final trashedFiles = <TrashFile>[];
|
||||
final deletedFiles = <TrashFile>[];
|
||||
final deletedUploadIDs = <int>[];
|
||||
final restoredFiles = <TrashFile>[];
|
||||
if (response != null) {
|
||||
final diff = response.data["diff"] as List;
|
||||
final bool hasMore = response.data["hasMore"] as bool;
|
||||
final startTime = DateTime.now();
|
||||
for (final item in diff) {
|
||||
if (item["isDeleted"]) {
|
||||
deletedUploadIDs.add(item["file"]["id"]);
|
||||
continue;
|
||||
}
|
||||
final trash = TrashFile();
|
||||
trash.createdAt = item['createdAt'];
|
||||
trash.updateAt = item['updatedAt'];
|
||||
|
@ -77,10 +81,6 @@ class TrashDiffFetcher {
|
|||
trash.pubMagicMetadata =
|
||||
PubMagicMetadata.fromEncodedJson(trash.pubMmdEncodedJson);
|
||||
}
|
||||
if (item["isDeleted"]) {
|
||||
deletedFiles.add(trash);
|
||||
continue;
|
||||
}
|
||||
if (item['isRestored']) {
|
||||
restoredFiles.add(trash);
|
||||
continue;
|
||||
|
@ -97,10 +97,10 @@ class TrashDiffFetcher {
|
|||
startTime.microsecondsSinceEpoch))
|
||||
.inMilliseconds
|
||||
.toString());
|
||||
return Diff(trashedFiles, restoredFiles, deletedFiles, hasMore,
|
||||
return Diff(trashedFiles, restoredFiles, deletedUploadIDs, hasMore,
|
||||
latestUpdatedAtTime);
|
||||
} else {
|
||||
return Diff(<TrashFile>[], <TrashFile>[], <TrashFile>[], false, 0);
|
||||
return Diff(<TrashFile>[], <TrashFile>[], <int>[], false, 0);
|
||||
}
|
||||
} catch (e, s) {
|
||||
_logger.severe(e, s);
|
||||
|
@ -112,10 +112,10 @@ class TrashDiffFetcher {
|
|||
class Diff {
|
||||
final List<TrashFile> trashedFiles;
|
||||
final List<TrashFile> restoredFiles;
|
||||
final List<TrashFile> deletedFiles;
|
||||
final List<int> deletedUploadIDs;
|
||||
final bool hasMore;
|
||||
final int lastSyncedTimeStamp;
|
||||
|
||||
Diff(this.trashedFiles, this.restoredFiles, this.deletedFiles, this.hasMore,
|
||||
this.lastSyncedTimeStamp);
|
||||
Diff(this.trashedFiles, this.restoredFiles, this.deletedUploadIDs,
|
||||
this.hasMore, this.lastSyncedTimeStamp);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue