Skip to content

Commit ae53bef

Browse files
committed
refactor(discovery): extract updateDirItemFromServerJob
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
1 parent aaf96e9 commit ae53bef

2 files changed

Lines changed: 25 additions & 18 deletions

File tree

src/libsync/discovery.cpp

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2259,6 +2259,29 @@ void ProcessDirectoryJob::chopVirtualFileSuffix(QString &str) const
22592259
}
22602260
}
22612261

2262+
void ProcessDirectoryJob::updateDirItemFromServerJob(DiscoverySingleDirectoryJob *serverJob)
2263+
{
2264+
if (_dirItem->isEncrypted()) {
2265+
_dirItem->_isFileDropDetected = serverJob->isFileDropDetected();
2266+
2267+
SyncJournalFileRecord record;
2268+
const auto alreadyDownloaded = _discoveryData->_statedb->getFileRecord(_dirItem->_file, &record) && record.isValid();
2269+
// we need to make sure we first download all e2ee files/folders before migrating
2270+
_dirItem->_isEncryptedMetadataNeedUpdate = alreadyDownloaded && serverJob->encryptedMetadataNeedUpdate();
2271+
_dirItem->_e2eEncryptionStatus = serverJob->currentEncryptionStatus();
2272+
_dirItem->_e2eEncryptionStatusRemote = serverJob->currentEncryptionStatus();
2273+
_dirItem->_e2eEncryptionServerCapability = serverJob->requiredEncryptionStatus();
2274+
qCDebug(lcDisco()) << _dirItem->_e2eEncryptionStatus << _dirItem->_e2eEncryptionServerCapability;
2275+
Q_ASSERT(_dirItem->_e2eEncryptionStatus != SyncFileItem::EncryptionStatus::Encrypted);
2276+
Q_ASSERT(_dirItem->_e2eEncryptionStatus != SyncFileItem::EncryptionStatus::NotEncrypted);
2277+
_discoveryData->_anotherSyncNeeded = !alreadyDownloaded && serverJob->encryptedMetadataNeedUpdate();
2278+
}
2279+
qCDebug(lcDisco) << "serverJob has finished for folder:" << _dirItem->_file
2280+
<< "and it has _isFileDropDetected:" << _dirItem->_isFileDropDetected
2281+
<< "with quota bytesUsed:" << _dirItem->_folderQuota.bytesUsed
2282+
<< "bytesAvailable:" << _dirItem->_folderQuota.bytesAvailable;
2283+
}
2284+
22622285
DiscoverySingleDirectoryJob *ProcessDirectoryJob::startAsyncServerQuery()
22632286
{
22642287
if (_dirItem && _dirItem->isEncrypted() && _dirItem->_encryptedFileName.isEmpty()) {
@@ -2281,24 +2304,7 @@ DiscoverySingleDirectoryJob *ProcessDirectoryJob::startAsyncServerQuery()
22812304
_pendingAsyncJobs++;
22822305
connect(serverJob, &DiscoverySingleDirectoryJob::finished, this, [this, serverJob](const auto &results) {
22832306
if (_dirItem) {
2284-
if (_dirItem->isEncrypted()) {
2285-
_dirItem->_isFileDropDetected = serverJob->isFileDropDetected();
2286-
2287-
SyncJournalFileRecord record;
2288-
const auto alreadyDownloaded = _discoveryData->_statedb->getFileRecord(_dirItem->_file, &record) && record.isValid();
2289-
// we need to make sure we first download all e2ee files/folders before migrating
2290-
_dirItem->_isEncryptedMetadataNeedUpdate = alreadyDownloaded && serverJob->encryptedMetadataNeedUpdate();
2291-
_dirItem->_e2eEncryptionStatus = serverJob->currentEncryptionStatus();
2292-
_dirItem->_e2eEncryptionStatusRemote = serverJob->currentEncryptionStatus();
2293-
_dirItem->_e2eEncryptionServerCapability = serverJob->requiredEncryptionStatus();
2294-
qCDebug(lcDisco()) << _dirItem->_e2eEncryptionStatus << _dirItem->_e2eEncryptionServerCapability;
2295-
Q_ASSERT(_dirItem->_e2eEncryptionStatus != SyncFileItem::EncryptionStatus::Encrypted);
2296-
Q_ASSERT(_dirItem->_e2eEncryptionStatus != SyncFileItem::EncryptionStatus::NotEncrypted);
2297-
_discoveryData->_anotherSyncNeeded = !alreadyDownloaded && serverJob->encryptedMetadataNeedUpdate();
2298-
}
2299-
qCDebug(lcDisco) << "serverJob has finished for folder:" << _dirItem->_file << " and it has _isFileDropDetected:" << _dirItem->_isFileDropDetected
2300-
<< "with quota bytesUsed:" << _dirItem->_folderQuota.bytesUsed
2301-
<< "bytesAvailable:" << _dirItem->_folderQuota.bytesAvailable;
2307+
updateDirItemFromServerJob(serverJob);
23022308
}
23032309
_discoveryData->_currentlyActiveJobs--;
23042310
_pendingAsyncJobs--;

src/libsync/discovery.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,7 @@ class ProcessDirectoryJob : public QObject
204204
*/
205205
MovePermissionResult checkMovePermissions(RemotePermissions srcPerm, const QString &srcPath, bool isDirectory);
206206

207+
void updateDirItemFromServerJob(DiscoverySingleDirectoryJob *serverJob);
207208
void processBlacklisted(const PathTuple &, const LocalInfo &, const SyncJournalFileRecord &dbEntry);
208209
void subJobFinished();
209210

0 commit comments

Comments
 (0)