Register nextcloud capabilities to check api versions..

<?xml version="1.0"?>
<ocs>
  ...
  <capabilities>
   ...
   <quicknotes>
    <version>0.6.0</version>
    <api_version>1.0</api_version>
   </quicknotes>
   ...
  </capabilities>
</ocs>
This commit is contained in:
Matias De lellis
2020-09-18 09:27:23 -03:00
parent 3807b83796
commit 959aa90f1a
3 changed files with 60 additions and 4 deletions

View File

@@ -32,14 +32,18 @@ use OCP\IServerContainer;
class Application extends App {
/** @var string */
public const APP_NAME = 'quicknotes';
public const APP_ID = 'quicknotes';
/** @var string */
public const API_VERSION = '1.0';
public function __construct(array $urlParams = []) {
parent::__construct(self::APP_NAME, $urlParams);
parent::__construct(self::APP_ID, $urlParams);
}
public function register(): void {
$this->registerNavigationEntry();
$this->registerCapabilities();
}
private function registerNavigationEntry(): void {
@@ -59,4 +63,9 @@ class Application extends App {
});
}
private function registerCapabilities(): void {
$container = $this->getContainer();
$container->registerCapability(Capabilities::class);
}
}

View File

@@ -0,0 +1,47 @@
<?php declare(strict_types=1);
/*
* @copyright 2016-2020 Matias De lellis <mati86dl@gmail.com>
*
* @author 2016 Matias De lellis <mati86dl@gmail.com>
*
* @license GNU AGPL version 3 or any later version
*
* 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 <http://www.gnu.org/licenses/>.
*/
namespace OCA\QuickNotes\AppInfo;
use OCP\Capabilities\ICapability;
use OCP\App\IAppManager;
class Capabilities implements ICapability {
/** @var IAppManager */
private $appManager;
public function __construct(IAppManager $appManager) {
$this->appManager = $appManager;
}
public function getCapabilities() {
return [
Application::APP_ID => [
'version' => $this->appManager->getAppVersion(Application::APP_ID),
'api_version' => Application::API_VERSION,
],
];
}
}

View File

@@ -55,11 +55,11 @@ class SettingsService {
public function getColorForNewNotes(): string {
return $this->config->getUserValue($this->userId, Application::APP_NAME, self::COLOR_FOR_NEW_NOTES_KEY, self::DEFAULT_COLOR_FOR_NEW_NOTES);
return $this->config->getUserValue($this->userId, Application::APP_ID, self::COLOR_FOR_NEW_NOTES_KEY, self::DEFAULT_COLOR_FOR_NEW_NOTES);
}
public function setColorForNewNotes(string $color) {
$this->config->setUserValue($this->userId, Application::APP_NAME, self::COLOR_FOR_NEW_NOTES_KEY, $color);
$this->config->setUserValue($this->userId, Application::APP_ID, self::COLOR_FOR_NEW_NOTES_KEY, $color);
}
}