[mob][multipart] Minor refactor
This commit is contained in:
parent
a49b5f55dd
commit
83ff0e9e38
2 changed files with 13 additions and 27 deletions
|
@ -182,20 +182,6 @@ class UploadLocksDB {
|
|||
);
|
||||
}
|
||||
|
||||
// For multipart download tracking
|
||||
Future<bool> doesExists(String localId, String hash, int collectionID) async {
|
||||
final db = await instance.database;
|
||||
final rows = await db.query(
|
||||
_trackUploadTable.table,
|
||||
where: '${_trackUploadTable.columnLocalID} = ?'
|
||||
' AND ${_trackUploadTable.columnFileHash} = ?'
|
||||
' AND ${_trackUploadTable.columnCollectionID} = ?',
|
||||
whereArgs: [localId, hash, collectionID],
|
||||
);
|
||||
|
||||
return rows.isNotEmpty;
|
||||
}
|
||||
|
||||
Future<({String encryptedFileKey, String fileNonce, String keyNonce})>
|
||||
getFileEncryptionData(
|
||||
String localId,
|
||||
|
@ -421,7 +407,7 @@ class UploadLocksDB {
|
|||
});
|
||||
}
|
||||
|
||||
Future<String> getEncryptedFileName(
|
||||
Future<String?> getEncryptedFileName(
|
||||
String localId,
|
||||
String fileHash,
|
||||
int collectionID,
|
||||
|
@ -435,7 +421,7 @@ class UploadLocksDB {
|
|||
whereArgs: [localId, fileHash, collectionID],
|
||||
);
|
||||
if (rows.isEmpty) {
|
||||
throw Exception("No cached links found for $localId and $fileHash");
|
||||
return null;
|
||||
}
|
||||
final row = rows.first;
|
||||
return row[_trackUploadTable.columnEncryptedFileName] as String;
|
||||
|
|
|
@ -456,23 +456,23 @@ class FileUploader {
|
|||
MediaUploadData? mediaUploadData;
|
||||
mediaUploadData = await getUploadDataFromEnteFile(file);
|
||||
|
||||
var multipartEntryExists = mediaUploadData.hashData?.fileHash != null &&
|
||||
await _uploadLocks.doesExists(
|
||||
lockKey,
|
||||
mediaUploadData.hashData!.fileHash!,
|
||||
collectionID,
|
||||
);
|
||||
final String? existingMultipartEncFileName =
|
||||
mediaUploadData.hashData?.fileHash != null
|
||||
? await _uploadLocks.getEncryptedFileName(
|
||||
lockKey,
|
||||
mediaUploadData.hashData!.fileHash!,
|
||||
collectionID,
|
||||
)
|
||||
: null;
|
||||
bool multipartEntryExists = existingMultipartEncFileName != null;
|
||||
|
||||
final String uniqueID = const Uuid().v4().toString();
|
||||
|
||||
final encryptedFilePath = multipartEntryExists
|
||||
? '$uploadPrefix${await _uploadLocks.getEncryptedFileName(
|
||||
lockKey,
|
||||
mediaUploadData.hashData!.fileHash!,
|
||||
collectionID,
|
||||
)}'
|
||||
? '$uploadPrefix$existingMultipartEncFileName'
|
||||
: '$uploadPrefix${uniqueID}_file.encrypted';
|
||||
final encryptedThumbnailPath = '$uploadPrefix${uniqueID}_thumb.encrypted';
|
||||
|
||||
var uploadCompleted = false;
|
||||
// This flag is used to decide whether to clear the iOS origin file cache
|
||||
// or not.
|
||||
|
|
Loading…
Add table
Reference in a new issue