diff --git a/lib/AppInfo/Application.php b/lib/AppInfo/Application.php index d21d104fc..9d1a27b91 100644 --- a/lib/AppInfo/Application.php +++ b/lib/AppInfo/Application.php @@ -28,6 +28,7 @@ namespace OCA\Forms\AppInfo; +use OCA\Forms\Capabilities; use OCA\Forms\Listener\UserDeletedListener; use OCP\AppFramework\App; use OCP\AppFramework\Bootstrap\IBootstrap; @@ -54,6 +55,7 @@ public function register(IRegistrationContext $context): void { // Register composer autoloader include_once __DIR__ . '/../../vendor/autoload.php'; + $context->registerCapability(Capabilities::class); $context->registerEventListener(UserDeletedEvent::class, UserDeletedListener::class); } diff --git a/lib/Capabilities.php b/lib/Capabilities.php new file mode 100644 index 000000000..5c31abe26 --- /dev/null +++ b/lib/Capabilities.php @@ -0,0 +1,49 @@ + + * + * @author Jonas Rittershofer + * + * @license AGPL-3.0-or-later + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OCA\Forms; + +use OCP\App\IAppManager; +use OCP\Capabilities\ICapability; + +class Capabilities implements ICapability { + /** @var IAppManager */ + private $appManager; + + public function __construct(IAppManager $appManager) { + $this->appManager = $appManager; + } + + /** + * Provide App Capabilities + * @return array with 'appName' => [ _Properties_ ] + */ + public function getCapabilities() { + return [ + 'forms' => [ + 'version' => $this->appManager->getAppVersion('forms'), + 'apiVersions' => ['v2'] + ] + ]; + } +}