Fix bug in handling file update

This commit is contained in:
Neeraj Gupta 2023-05-03 17:44:59 +05:30
parent 8894c61d98
commit ef5d47c584
No known key found for this signature in database
GPG key ID: 3C5A1684DC1729E1
3 changed files with 14 additions and 3 deletions

View file

@ -770,12 +770,17 @@ class FilesDB {
return uploadedFileIDs;
}
Future<File?> getUploadedFileInAnyCollection(int uploadedFileID) async {
Future<File?> getUploadedLocalFileInAnyCollection(
int uploadedFileID,
int userID,
) async {
final db = await instance.database;
final results = await db.query(
filesTable,
where: '$columnUploadedFileID = ?',
where: '$columnLocalID IS NOT NULL AND $columnOwnerID = ? AND '
'$columnUploadedFileID = ?',
whereArgs: [
userID,
uploadedFileID,
],
limit: 1,

View file

@ -519,7 +519,10 @@ class RemoteSyncService {
.info("Skipping some updated files as we are throttling uploads");
break;
}
final file = await _db.getUploadedFileInAnyCollection(uploadedFileID);
final file = await _db.getUploadedLocalFileInAnyCollection(
uploadedFileID,
ownerID,
);
if (file != null) {
_uploadFile(file, file.collectionID!, futures);
}

View file

@ -117,6 +117,9 @@ class FileUploader {
// upload future will return null as File when the file entry is deleted
// locally because it's already present in the destination collection.
Future<File> upload(File file, int collectionID) {
if (file.localID == null || file.localID!.isEmpty) {
return Future.error(Exception("file's localID can not be null or empty"));
}
// If the file hasn't been queued yet, queue it
_totalCountInUploadSession++;
if (!_queue.containsKey(file.localID)) {