Skip to content

Commit

Permalink
Add capabilities
Browse files Browse the repository at this point in the history
Signed-off-by: Marcel M眉ller <marcel-mueller@gmx.de>
  • Loading branch information
SystemKeeper committed Jun 30, 2022
1 parent 6b9f713 commit adf59aa
Show file tree
Hide file tree
Showing 3 changed files with 90 additions and 0 deletions.
3 changes: 3 additions & 0 deletions lib/AppInfo/Application.php
Expand Up @@ -23,6 +23,7 @@

use OCA\Files\Event\LoadAdditionalScriptsEvent;
use OCA\Guests\Listener\LoadAdditionalScriptsListener;
use OCA\Guests\Capabilities;
use OCA\Guests\GroupBackend;
use OCA\Guests\Hooks;
use OCA\Guests\Listener\ShareAutoAcceptListener;
Expand All @@ -49,6 +50,8 @@ public function __construct(array $urlParams = []) {
}

public function register(IRegistrationContext $context): void {
$context->registerCapability(Capabilities::class);

$context->registerEventListener(LoadAdditionalScriptsEvent::class, LoadAdditionalScriptsListener::class);
$context->registerEventListener(ShareCreatedEvent::class, ShareAutoAcceptListener::class);
$context->registerEventListener(BeforeTemplateRenderedEvent::class, TalkIntegrationListener::class);
Expand Down
45 changes: 45 additions & 0 deletions lib/Capabilities.php
@@ -0,0 +1,45 @@
<?php
/**
* @copyright Copyright (c) 2022 Marcel M眉ller <marcel-mueller@gmx.de>
*
* @author Marcel M眉ller <marcel-mueller@gmx.de>
*
* @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\Guests;

use OCP\Capabilities\ICapability;

/**
* Class Capabilities
*
* @package OCA\Guests
*/
class Capabilities implements ICapability {

/**
* @inheritDoc
*/
public function getCapabilities() {
return [
'guests' => [
'enabled' => true,
],
];
}
}
42 changes: 42 additions & 0 deletions tests/unit/CapabilitiesTest.php
@@ -0,0 +1,42 @@
<?php

declare(strict_types=1);

/**
* @copyright Copyright (c) 2022 Marcel M眉ller <marcel-mueller@gmx.de>
*
* @author Marcel M眉ller <marcel-mueller@gmx.de>
*
* @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\Guests\Tests;

use OCA\Guests\Capabilities;
use Test\TestCase;

class CapabilitiesTest extends TestCase {

public function testCapabilities(): void {
$capabilities = new Capabilities();

$this->assertEquals([
'guests' => [
'enabled' => true,
]
], $capabilities->getCapabilities());
}
}

0 comments on commit adf59aa

Please sign in to comment.