Skip parsing files that are already in sync

This commit is contained in:
Vishnu Mohandas 2020-11-30 11:58:37 +05:30
parent 88d21eaf1b
commit b92023ad5c
2 changed files with 22 additions and 1 deletions

View file

@ -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;

View file

@ -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"];