Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Appelman <robin@icewind.nl>2022-04-07 21:53:36 +0300
committerGitHub <noreply@github.com>2022-04-07 21:53:36 +0300
commit9834350ac385e4dd90c7ee17b78cc491bebb3274 (patch)
tree7940be72a43fae0252d02977961cdfb58457c6b0 /apps/files_sharing
parent60f946aba5862102a81100b09e26b37b6d59a3fa (diff)
parentf9a5fb99fd4c586ac756afe53aa5c241c20657f2 (diff)
Merge pull request #31713 from nextcloud/fed-performance
Federated share performance improvements
Diffstat (limited to 'apps/files_sharing')
-rw-r--r--apps/files_sharing/lib/External/Storage.php9
1 files changed, 8 insertions, 1 deletions
diff --git a/apps/files_sharing/lib/External/Storage.php b/apps/files_sharing/lib/External/Storage.php
index ffa5fb8716d..296e7ddf85b 100644
--- a/apps/files_sharing/lib/External/Storage.php
+++ b/apps/files_sharing/lib/External/Storage.php
@@ -43,12 +43,13 @@ use OCP\Constants;
use OCP\Federation\ICloudId;
use OCP\Files\NotFoundException;
use OCP\Files\Storage\IDisableEncryptionStorage;
+use OCP\Files\Storage\IReliableEtagStorage;
use OCP\Files\StorageInvalidException;
use OCP\Files\StorageNotAvailableException;
use OCP\Http\Client\LocalServerException;
use OCP\Http\Client\IClientService;
-class Storage extends DAV implements ISharedStorage, IDisableEncryptionStorage {
+class Storage extends DAV implements ISharedStorage, IDisableEncryptionStorage, IReliableEtagStorage {
/** @var ICloudId */
private $cloudId;
/** @var string */
@@ -369,6 +370,8 @@ class Storage extends DAV implements ISharedStorage, IDisableEncryptionStorage {
} elseif (isset($response['{http://open-cloud-mesh.org/ns}share-permissions'])) {
// permissions provided by the OCM API
$permissions = $this->ocmPermissions2ncPermissions($response['{http://open-collaboration-services.org/ns}share-permissions'], $path);
+ } elseif (isset($response['{http://owncloud.org/ns}permissions'])) {
+ return $this->parsePermissions($response['{http://owncloud.org/ns}permissions']);
} else {
// use default permission if remote server doesn't provide the share permissions
$permissions = $this->getDefaultPermissions($path);
@@ -426,4 +429,8 @@ class Storage extends DAV implements ISharedStorage, IDisableEncryptionStorage {
return $permissions;
}
+
+ public function free_space($path) {
+ return parent::free_space("");
+ }
}