return _capabilities["dav"].toMap()["chunking"].toByteArray() >= "1.0";
}
+bool Capabilities::bulkUpload() const
+{
+ return _capabilities["dav"].toMap()["bulkupload"].toByteArray() >= "1.0";
+}
+
bool Capabilities::userStatus() const
{
if (!_capabilities.contains("user_status")) {
bool shareResharing() const;
int shareDefaultPermissions() const;
bool chunkingNg() const;
+ bool bulkUpload() const;
bool userStatus() const;
bool userStatusSupportsEmoji() const;
bool OwncloudPropagator::isDelayedUploadItem(const SyncFileItemPtr &item) const
{
- return !_scheduleDelayedTasks && !item->_isEncrypted;
+ return account()->capabilities().bulkUpload() && !_scheduleDelayedTasks && !item->_isEncrypted && _syncOptions._minChunkSize > item->_size;
}
void OwncloudPropagator::setScheduleDelayedTasks(bool active)
QCOMPARE(defaultSharePermissionsAvailable, 31);
}
+
+ void testBulkUploadAvailable_bulkUploadAvailable_returnTrue()
+ {
+ QVariantMap bulkuploadMap;
+ bulkuploadMap["bulkupload"] = "1.0";
+
+ QVariantMap capabilitiesMap;
+ capabilitiesMap["dav"] = bulkuploadMap;
+
+ const auto &capabilities = OCC::Capabilities(capabilitiesMap);
+ const auto bulkuploadAvailable = capabilities.bulkUpload();
+
+ QCOMPARE(bulkuploadAvailable, true);
+ }
};
QTEST_GUILESS_MAIN(TestCapabilities)
void testDirUploadWithDelayedAlgorithm() {
FakeFolder fakeFolder{FileInfo::A12_B12_C12_S12()};
+ fakeFolder.syncEngine().account()->setCapabilities({ { "dav", QVariantMap{ {"bulkupload", "1.0"} } } });
+
ItemCompletedSpy completeSpy(fakeFolder);
fakeFolder.localModifier().mkdir("Y");
fakeFolder.localModifier().insert("Y/d0");