Skip parsing files that are already in sync
This commit is contained in:
parent
88d21eaf1b
commit
b92023ad5c
2 changed files with 22 additions and 1 deletions
|
@ -126,6 +126,22 @@ class FilesDB {
|
|||
return _convertToFiles(results)[0];
|
||||
}
|
||||
|
||||
Future<File> getUploadedFile(int uploadedID, int collectionID) async {
|
||||
final db = await instance.database;
|
||||
final results = await db.query(
|
||||
table,
|
||||
where: '$columnUploadedFileID = ? AND $columnCollectionID = ?',
|
||||
whereArgs: [
|
||||
uploadedID,
|
||||
collectionID,
|
||||
],
|
||||
);
|
||||
if (results.isEmpty) {
|
||||
return null;
|
||||
}
|
||||
return _convertToFiles(results)[0];
|
||||
}
|
||||
|
||||
Future<List<File>> getDeduplicatedFiles() async {
|
||||
_logger.info("Getting files for collection");
|
||||
final db = await instance.database;
|
||||
|
|
|
@ -47,8 +47,13 @@ class DiffFetcher {
|
|||
CollectionUpdatedEvent(collectionID: file.collectionID));
|
||||
continue;
|
||||
}
|
||||
file.ownerID = item["ownerID"];
|
||||
file.updationTime = item["updationTime"];
|
||||
final existingFile = await FilesDB.instance
|
||||
.getUploadedFile(file.uploadedFileID, file.collectionID);
|
||||
if (existingFile.updationTime == file.updationTime) {
|
||||
continue;
|
||||
}
|
||||
file.ownerID = item["ownerID"];
|
||||
file.isEncrypted = true;
|
||||
file.encryptedKey = item["encryptedKey"];
|
||||
file.keyDecryptionNonce = item["keyDecryptionNonce"];
|
||||
|
|
Loading…
Add table
Reference in a new issue