aboutsummaryrefslogtreecommitdiffstats
path: root/apps/dav/lib/Capabilities.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/dav/lib/Capabilities.php')
-rw-r--r--apps/dav/lib/Capabilities.php17
1 files changed, 12 insertions, 5 deletions
diff --git a/apps/dav/lib/Capabilities.php b/apps/dav/lib/Capabilities.php
index 1de64e16e41..f9bad25bf31 100644
--- a/apps/dav/lib/Capabilities.php
+++ b/apps/dav/lib/Capabilities.php
@@ -1,4 +1,5 @@
<?php
+
/**
* SPDX-FileCopyrightText: 2016 ownCloud GmbH
* SPDX-License-Identifier: AGPL-3.0-only
@@ -7,26 +8,32 @@ namespace OCA\DAV;
use OCP\Capabilities\ICapability;
use OCP\IConfig;
+use OCP\User\IAvailabilityCoordinator;
class Capabilities implements ICapability {
- private IConfig $config;
-
- public function __construct(IConfig $config) {
- $this->config = $config;
+ public function __construct(
+ private IConfig $config,
+ private IAvailabilityCoordinator $coordinator,
+ ) {
}
/**
- * @return array{dav: array{chunking: string, bulkupload?: string}}
+ * @return array{dav: array{chunking: string, public_shares_chunking: bool, bulkupload?: string, absence-supported?: bool, absence-replacement?: bool}}
*/
public function getCapabilities() {
$capabilities = [
'dav' => [
'chunking' => '1.0',
+ 'public_shares_chunking' => true,
]
];
if ($this->config->getSystemValueBool('bulkupload.enabled', true)) {
$capabilities['dav']['bulkupload'] = '1.0';
}
+ if ($this->coordinator->isEnabled()) {
+ $capabilities['dav']['absence-supported'] = true;
+ $capabilities['dav']['absence-replacement'] = true;
+ }
return $capabilities;
}
}