diff options
author | Christoph Wurst <christoph@winzerhof-wurst.at> | 2020-06-08 19:27:28 +0200 |
---|---|---|
committer | Christoph Wurst <christoph@winzerhof-wurst.at> | 2020-06-17 09:22:22 +0200 |
commit | a2c8bfadbc5e5f7d6e2893a2109bc7186d27681d (patch) | |
tree | 20f80e474d56c28cb1cba933391431775ce97c5a /apps/twofactor_backupcodes | |
parent | c5d2958ac75302c35dadbfbcc6bf5365740886f5 (diff) | |
download | nextcloud-server-a2c8bfadbc5e5f7d6e2893a2109bc7186d27681d.tar.gz nextcloud-server-a2c8bfadbc5e5f7d6e2893a2109bc7186d27681d.zip |
Migrate Two-Factor Backup Codes to new bootstrap mechanism
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Diffstat (limited to 'apps/twofactor_backupcodes')
-rw-r--r-- | apps/twofactor_backupcodes/appinfo/app.php | 29 | ||||
-rw-r--r-- | apps/twofactor_backupcodes/lib/AppInfo/Application.php | 51 |
2 files changed, 27 insertions, 53 deletions
diff --git a/apps/twofactor_backupcodes/appinfo/app.php b/apps/twofactor_backupcodes/appinfo/app.php deleted file mode 100644 index 2ca0108443d..00000000000 --- a/apps/twofactor_backupcodes/appinfo/app.php +++ /dev/null @@ -1,29 +0,0 @@ -<?php -/** - * @copyright Copyright (c) 2017 Joas Schilling <coding@schilljs.com> - * - * @author Christoph Wurst <christoph@winzerhof-wurst.at> - * @author Joas Schilling <coding@schilljs.com> - * @author Robin Appelman <robin@icewind.nl> - * - * @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/>. - * - */ - -use OCA\TwoFactorBackupCodes\AppInfo\Application; - -$app = \OC::$server->query(Application::class); -$app->register(); diff --git a/apps/twofactor_backupcodes/lib/AppInfo/Application.php b/apps/twofactor_backupcodes/lib/AppInfo/Application.php index 3cf05073ec8..1941cb545ad 100644 --- a/apps/twofactor_backupcodes/lib/AppInfo/Application.php +++ b/apps/twofactor_backupcodes/lib/AppInfo/Application.php @@ -1,4 +1,7 @@ <?php + +declare(strict_types=1); + /** * @copyright Copyright (c) 2017 Joas Schilling <coding@schilljs.com> * @@ -34,44 +37,44 @@ use OCA\TwoFactorBackupCodes\Listener\ProviderEnabled; use OCA\TwoFactorBackupCodes\Listener\RegistryUpdater; use OCA\TwoFactorBackupCodes\Notifications\Notifier; use OCP\AppFramework\App; +use OCP\AppFramework\Bootstrap\IBootContext; +use OCP\AppFramework\Bootstrap\IBootstrap; +use OCP\AppFramework\Bootstrap\IRegistrationContext; use OCP\Authentication\TwoFactorAuth\IRegistry; use OCP\Notification\IManager; use OCP\Util; -class Application extends App { +class Application extends App implements IBootstrap { + public const APP_ID = 'twofactor_backupcodes'; + public function __construct() { - parent::__construct('twofactor_backupcodes'); + parent::__construct(self::APP_ID); } - /** - * Register the different app parts - */ - public function register() { - $this->registerHooksAndEvents(); - $this->registerNotification(); + public function register(IRegistrationContext $context): void { + $this->registerHooksAndEvents($context); } - /** - * Register the hooks and events - */ - public function registerHooksAndEvents() { + public function boot(IBootContext $context): void { Util::connectHook('OC_User', 'post_deleteUser', $this, 'deleteUser'); - $container = $this->getContainer(); + $this->registerNotification( + $context->getAppContainer()->query(IManager::class) + ); + } - /** @var IEventDispatcher $eventDispatcher */ - $eventDispatcher = $container->query(IEventDispatcher::class); - $eventDispatcher->addServiceListener(CodesGenerated::class, ActivityPublisher::class); - $eventDispatcher->addServiceListener(CodesGenerated::class, RegistryUpdater::class); - $eventDispatcher->addServiceListener(CodesGenerated::class, ClearNotifications::class); - $eventDispatcher->addServiceListener(IRegistry::EVENT_PROVIDER_ENABLED, ProviderEnabled::class); - $eventDispatcher->addServiceListener(IRegistry::EVENT_PROVIDER_DISABLED, ProviderDisabled::class); + /** + * Register the hooks and events + */ + public function registerHooksAndEvents(IRegistrationContext $context) { + $context->registerEventListener(CodesGenerated::class, ActivityPublisher::class); + $context->registerEventListener(CodesGenerated::class, RegistryUpdater::class); + $context->registerEventListener(CodesGenerated::class, ClearNotifications::class); + $context->registerEventListener(IRegistry::EVENT_PROVIDER_ENABLED, ProviderEnabled::class); + $context->registerEventListener(IRegistry::EVENT_PROVIDER_DISABLED, ProviderDisabled::class); } - public function registerNotification() { - $container = $this->getContainer(); - /** @var IManager $manager */ - $manager = $container->query(IManager::class); + private function registerNotification(IManager $manager) { $manager->registerNotifierService(Notifier::class); } |