diff options
author | Hannah von Reth <hannah.vonreth@owncloud.com> | 2021-05-17 17:34:23 +0300 |
---|---|---|
committer | Hannah von Reth <hannah.vonreth@owncloud.com> | 2021-05-17 17:34:23 +0300 |
commit | 87f57807096d9533ddc6e5c378eae646f25758fe (patch) | |
tree | b56c66538f5f8518611db5cb15bfc33e7eb1f3c3 /src/gui/socketapi | |
parent | 38ba32c380f750ea9ca7093ec885aaad444a14f0 (diff) | |
parent | 1533234aa344440e1c10391f7dd13fef2d324281 (diff) |
Merge remote-tracking branch 'origin/2.8'
Diffstat (limited to 'src/gui/socketapi')
-rw-r--r-- | src/gui/socketapi/socketuploadjob.cpp | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/src/gui/socketapi/socketuploadjob.cpp b/src/gui/socketapi/socketuploadjob.cpp index 90a19cdfa..4b6f96a56 100644 --- a/src/gui/socketapi/socketuploadjob.cpp +++ b/src/gui/socketapi/socketuploadjob.cpp @@ -66,9 +66,7 @@ void SocketUploadJob::prepareTag(const AccountPtr &account) }); propfindJob->start(); }); - const QJsonObject json({ { QStringLiteral("name"), backupTagNameC() }, - { QStringLiteral("userVisible"), QStringLiteral("true") }, - { QStringLiteral("userAssignable"), QStringLiteral("false") } }); + const QJsonObject json({ { QStringLiteral("name"), backupTagNameC() } }); QNetworkRequest req; tagJob->prepareRequest(QByteArrayLiteral("POST"), tagUrl(account), req, json); tagJob->start(); @@ -165,10 +163,20 @@ void SocketUploadJob::start() // create the dir, fail if it already exists auto mkdir = new OCC::MkColJob(engine->account(), remotePath); - connect(mkdir, &OCC::MkColJob::finishedWithoutError, this, [engine, mkdir, this]{ - auto reply = mkdir->reply(); - _backupFileId = reply->rawHeader(QByteArrayLiteral("OC-FileId")); - engine->startSync(); + connect(mkdir, &OCC::MkColJob::finishedWithoutError, this, [engine, remotePath, this]{ + + // we need the int file id without the instance id so we can't use the OC-FileId + auto propfindJob = new PropfindJob(engine->account(), remotePath, this); + propfindJob->setProperties({ QByteArrayLiteral("http://owncloud.org/ns:fileid") }); + + connect(propfindJob, &PropfindJob::result, this, [engine, this](const QVariantMap &data) { + _backupFileId = data[QStringLiteral("fileid")].toByteArray(); + engine->startSync(); + }); + connect(propfindJob, &PropfindJob::finishedWithError, this, [this] { + fail(tr("Failed to file id tags")); + }); + propfindJob->start(); }); connect(mkdir, &OCC::MkColJob::finishedWithError, this, [remotePath, this](QNetworkReply *reply) { if (reply->error() == 202) { |