diff options
Diffstat (limited to 'apps/cloud_federation_api/lib/Capabilities.php')
-rw-r--r-- | apps/cloud_federation_api/lib/Capabilities.php | 27 |
1 files changed, 7 insertions, 20 deletions
diff --git a/apps/cloud_federation_api/lib/Capabilities.php b/apps/cloud_federation_api/lib/Capabilities.php index 0348f6e7c11..599733123b3 100644 --- a/apps/cloud_federation_api/lib/Capabilities.php +++ b/apps/cloud_federation_api/lib/Capabilities.php @@ -6,6 +6,7 @@ declare(strict_types=1); * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later */ + namespace OCA\CloudFederationAPI; use NCU\Security\Signature\Exceptions\IdentityNotFoundException; @@ -16,16 +17,16 @@ use OCP\Capabilities\IInitialStateExcludedCapability; use OCP\IAppConfig; use OCP\IURLGenerator; use OCP\OCM\Exceptions\OCMArgumentException; -use OCP\OCM\IOCMProvider; +use OCP\OCM\ICapabilityAwareOCMProvider; use Psr\Log\LoggerInterface; class Capabilities implements ICapability, IInitialStateExcludedCapability { - public const API_VERSION = '1.1'; // informative, real version. + public const API_VERSION = '1.1.0'; public function __construct( private IURLGenerator $urlGenerator, private IAppConfig $appConfig, - private IOCMProvider $provider, + private ICapabilityAwareOCMProvider $provider, private readonly OCMSignatoryManager $ocmSignatoryManager, private readonly LoggerInterface $logger, ) { @@ -34,23 +35,7 @@ class Capabilities implements ICapability, IInitialStateExcludedCapability { /** * Function an app uses to return the capabilities * - * @return array{ - * ocm: array{ - * apiVersion: '1.0-proposal1', - * enabled: bool, - * endPoint: string, - * publicKey?: array{ - * keyId: string, - * publicKeyPem: string, - * }, - * resourceTypes: list<array{ - * name: string, - * shareTypes: list<string>, - * protocols: array<string, string> - * }>, - * version: string - * } - * } + * @return array<string, array<string, mixed>> * @throws OCMArgumentException */ public function getCapabilities() { @@ -62,6 +47,8 @@ class Capabilities implements ICapability, IInitialStateExcludedCapability { $this->provider->setEnabled(true); $this->provider->setApiVersion(self::API_VERSION); + $this->provider->setCapabilities(['/invite-accepted', '/notifications', '/shares']); + $this->provider->setEndPoint(substr($url, 0, $pos)); $resource = $this->provider->createNewResourceType(); |