diff options
Diffstat (limited to 'apps/files/lib/DirectEditingCapabilities.php')
-rw-r--r-- | apps/files/lib/DirectEditingCapabilities.php | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/apps/files/lib/DirectEditingCapabilities.php b/apps/files/lib/DirectEditingCapabilities.php new file mode 100644 index 00000000000..5bceef9305f --- /dev/null +++ b/apps/files/lib/DirectEditingCapabilities.php @@ -0,0 +1,36 @@ +<?php + +declare(strict_types=1); +/** + * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +namespace OCA\Files; + +use OCA\Files\Service\DirectEditingService; +use OCP\Capabilities\ICapability; +use OCP\Capabilities\IInitialStateExcludedCapability; +use OCP\IURLGenerator; + +class DirectEditingCapabilities implements ICapability, IInitialStateExcludedCapability { + public function __construct( + protected DirectEditingService $directEditingService, + protected IURLGenerator $urlGenerator, + ) { + } + + /** + * @return array{files: array{directEditing: array{url: string, etag: string, supportsFileId: bool}}} + */ + public function getCapabilities() { + return [ + 'files' => [ + 'directEditing' => [ + 'url' => $this->urlGenerator->linkToOCSRouteAbsolute('files.DirectEditing.info'), + 'etag' => $this->directEditingService->getDirectEditingETag(), + 'supportsFileId' => true, + ] + ], + ]; + } +} |