From 9f678652f80b587851dce1d999658aed99bb43c3 Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava Date: Thu, 7 Dec 2017 20:52:54 +0100 Subject: [PATCH] [CSE] Lock the folder to upload a file. --- src/libsync/propagateupload.cpp | 19 ++++++++++++++++++- src/libsync/propagateupload.h | 3 +++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/libsync/propagateupload.cpp b/src/libsync/propagateupload.cpp index 1ff67d577..e1d1c6794 100644 --- a/src/libsync/propagateupload.cpp +++ b/src/libsync/propagateupload.cpp @@ -27,6 +27,7 @@ #include "propagateremotedelete.h" #include "common/asserts.h" #include "networkjobs.h" +#include "clientsideencryption.h" #include #include @@ -249,7 +250,23 @@ void PropagateUploadFileCommon::slotFolderEncryptedStatusFetched(const QMap(sender()); + const auto& folderInfo = job->_folderInfos.value(list.first()); + auto *lockJob = new LockEncryptFolderApiJob(propagator()->account(), list.first().toLocal8Bit(), this); + connect(lockJob, &LockEncryptFolderApiJob::success, this, &PropagateUploadFileCommon::slotFolderLockedSuccessfully); + connect(lockJob, &LockEncryptFolderApiJob::error, this, &PropagateUploadFileCommon::slotFolderLockedError); + lockJob->start(); +} + +void PropagateUploadFileCommon::slotFolderLockedSuccessfully(const QByteArray& fileId, const QByteArray& token) +{ + qDebug() << "Folder" << fileId << "Locked Successfully for Upload"; +} + +void PropagateUploadFileCommon::slotFolderLockedError(const QByteArray& fileId, int httpErrorCode) +{ + qDebug() << "Folder" << fileId << "Coundn't be locked."; } void PropagateUploadFileCommon::slotFolderEncryptedIdError(QNetworkReply *r) diff --git a/src/libsync/propagateupload.h b/src/libsync/propagateupload.h index 0ef8a876a..7e36b166e 100644 --- a/src/libsync/propagateupload.h +++ b/src/libsync/propagateupload.h @@ -283,6 +283,9 @@ private slots: void slotFolderEncryptedStatusError(int error); void slotFolderEncryptedIdReceived(const QStringList &list); void slotFolderEncryptedIdError(QNetworkReply *r); + void slotFolderLockedSuccessfully(const QByteArray& fileId, const QByteArray& token); + void slotFolderLockedError(const QByteArray& fileId, int httpErrorCode); + protected: /**