diff options
Diffstat (limited to 'apps/twofactor_backupcodes/lib')
17 files changed, 94 insertions, 190 deletions
diff --git a/apps/twofactor_backupcodes/lib/Activity/Provider.php b/apps/twofactor_backupcodes/lib/Activity/Provider.php index 567d2c4995c..eba38147bd7 100644 --- a/apps/twofactor_backupcodes/lib/Activity/Provider.php +++ b/apps/twofactor_backupcodes/lib/Activity/Provider.php @@ -8,7 +8,7 @@ declare(strict_types=1); */ namespace OCA\TwoFactorBackupCodes\Activity; -use InvalidArgumentException; +use OCP\Activity\Exceptions\UnknownActivityException; use OCP\Activity\IEvent; use OCP\Activity\IManager; use OCP\Activity\IProvider; @@ -17,29 +17,21 @@ use OCP\L10N\IFactory as L10nFactory; class Provider implements IProvider { - /** @var L10nFactory */ - private $l10n; - - /** @var IURLGenerator */ - private $urlGenerator; - - /** @var IManager */ - private $activityManager; - /** * @param L10nFactory $l10n * @param IURLGenerator $urlGenerator * @param IManager $activityManager */ - public function __construct(L10nFactory $l10n, IURLGenerator $urlGenerator, IManager $activityManager) { - $this->urlGenerator = $urlGenerator; - $this->activityManager = $activityManager; - $this->l10n = $l10n; + public function __construct( + private L10nFactory $l10n, + private IURLGenerator $urlGenerator, + private IManager $activityManager, + ) { } public function parse($language, IEvent $event, ?IEvent $previousEvent = null): IEvent { if ($event->getApp() !== 'twofactor_backupcodes') { - throw new InvalidArgumentException(); + throw new UnknownActivityException(); } $l = $this->l10n->get('twofactor_backupcodes', $language); @@ -55,7 +47,7 @@ class Provider implements IProvider { } break; default: - throw new InvalidArgumentException(); + throw new UnknownActivityException(); } return $event; } diff --git a/apps/twofactor_backupcodes/lib/BackgroundJob/CheckBackupCodes.php b/apps/twofactor_backupcodes/lib/BackgroundJob/CheckBackupCodes.php index bd8a1d6798a..bc26cb260f4 100644 --- a/apps/twofactor_backupcodes/lib/BackgroundJob/CheckBackupCodes.php +++ b/apps/twofactor_backupcodes/lib/BackgroundJob/CheckBackupCodes.php @@ -18,28 +18,22 @@ use OCP\IUserManager; class CheckBackupCodes extends QueuedJob { - /** @var IUserManager */ - private $userManager; - - /** @var IJobList */ - private $jobList; - - /** @var IRegistry */ - private $registry; - /** @var Manager */ private $twofactorManager; - public function __construct(ITimeFactory $timeFactory, IUserManager $userManager, IJobList $jobList, Manager $twofactorManager, IRegistry $registry) { + public function __construct( + ITimeFactory $timeFactory, + private IUserManager $userManager, + private IJobList $jobList, + Manager $twofactorManager, + private IRegistry $registry, + ) { parent::__construct($timeFactory); - $this->userManager = $userManager; - $this->jobList = $jobList; $this->twofactorManager = $twofactorManager; - $this->registry = $registry; } protected function run($argument) { - $this->userManager->callForSeenUsers(function (IUser $user) { + $this->userManager->callForSeenUsers(function (IUser $user): void { if (!$user->isEnabled()) { return; } diff --git a/apps/twofactor_backupcodes/lib/BackgroundJob/RememberBackupCodesJob.php b/apps/twofactor_backupcodes/lib/BackgroundJob/RememberBackupCodesJob.php index 2bf182d59fd..5e853479f0a 100644 --- a/apps/twofactor_backupcodes/lib/BackgroundJob/RememberBackupCodesJob.php +++ b/apps/twofactor_backupcodes/lib/BackgroundJob/RememberBackupCodesJob.php @@ -10,7 +10,6 @@ namespace OCA\TwoFactorBackupCodes\BackgroundJob; use OCP\AppFramework\Utility\ITimeFactory; use OCP\Authentication\TwoFactorAuth\IRegistry; -use OCP\BackgroundJob\IJob; use OCP\BackgroundJob\IJobList; use OCP\BackgroundJob\TimedJob; use OCP\IUserManager; @@ -18,32 +17,18 @@ use OCP\Notification\IManager; class RememberBackupCodesJob extends TimedJob { - /** @var IRegistry */ - private $registry; - - /** @var IUserManager */ - private $userManager; - - /** @var IManager */ - private $notificationManager; - - /** @var IJobList */ - private $jobList; - - public function __construct(IRegistry $registry, - IUserManager $userManager, + public function __construct( + private IRegistry $registry, + private IUserManager $userManager, ITimeFactory $timeFactory, - IManager $notificationManager, - IJobList $jobList) { + private IManager $notificationManager, + private IJobList $jobList, + ) { parent::__construct($timeFactory); - $this->registry = $registry; - $this->userManager = $userManager; $this->time = $timeFactory; - $this->notificationManager = $notificationManager; - $this->jobList = $jobList; $this->setInterval(60 * 60 * 24 * 14); - $this->setTimeSensitivity(IJob::TIME_INSENSITIVE); + $this->setTimeSensitivity(self::TIME_INSENSITIVE); } protected function run($argument) { diff --git a/apps/twofactor_backupcodes/lib/Controller/SettingsController.php b/apps/twofactor_backupcodes/lib/Controller/SettingsController.php index 007b18f9cd5..effc058e05c 100644 --- a/apps/twofactor_backupcodes/lib/Controller/SettingsController.php +++ b/apps/twofactor_backupcodes/lib/Controller/SettingsController.php @@ -10,36 +10,34 @@ namespace OCA\TwoFactorBackupCodes\Controller; use OCA\TwoFactorBackupCodes\Service\BackupCodeStorage; use OCP\AppFramework\Controller; +use OCP\AppFramework\Http\Attribute\NoAdminRequired; +use OCP\AppFramework\Http\Attribute\PasswordConfirmationRequired; use OCP\AppFramework\Http\JSONResponse; use OCP\IRequest; use OCP\IUserSession; class SettingsController extends Controller { - /** @var BackupCodeStorage */ - private $storage; - - /** @var IUserSession */ - private $userSession; - /** * @param string $appName * @param IRequest $request * @param BackupCodeStorage $storage * @param IUserSession $userSession */ - public function __construct($appName, IRequest $request, BackupCodeStorage $storage, IUserSession $userSession) { + public function __construct( + $appName, + IRequest $request, + private BackupCodeStorage $storage, + private IUserSession $userSession, + ) { parent::__construct($appName, $request); - $this->userSession = $userSession; - $this->storage = $storage; } /** - * @NoAdminRequired - * @PasswordConfirmationRequired - * * @return JSONResponse */ + #[NoAdminRequired] + #[PasswordConfirmationRequired] public function createCodes(): JSONResponse { $user = $this->userSession->getUser(); $codes = $this->storage->createCodes($user); diff --git a/apps/twofactor_backupcodes/lib/Event/CodesGenerated.php b/apps/twofactor_backupcodes/lib/Event/CodesGenerated.php index a9bc0ec3a02..90dc6206f71 100644 --- a/apps/twofactor_backupcodes/lib/Event/CodesGenerated.php +++ b/apps/twofactor_backupcodes/lib/Event/CodesGenerated.php @@ -13,12 +13,10 @@ use OCP\IUser; class CodesGenerated extends Event { - /** @var IUser */ - private $user; - - public function __construct(IUser $user) { + public function __construct( + private IUser $user, + ) { parent::__construct(); - $this->user = $user; } /** diff --git a/apps/twofactor_backupcodes/lib/Listener/ClearNotifications.php b/apps/twofactor_backupcodes/lib/Listener/ClearNotifications.php index d3206cbcbcc..46bb1583004 100644 --- a/apps/twofactor_backupcodes/lib/Listener/ClearNotifications.php +++ b/apps/twofactor_backupcodes/lib/Listener/ClearNotifications.php @@ -16,11 +16,9 @@ use OCP\Notification\IManager; /** @template-implements IEventListener<CodesGenerated> */ class ClearNotifications implements IEventListener { - /** @var IManager */ - private $manager; - - public function __construct(IManager $manager) { - $this->manager = $manager; + public function __construct( + private IManager $manager, + ) { } public function handle(Event $event): void { diff --git a/apps/twofactor_backupcodes/lib/Listener/ProviderDisabled.php b/apps/twofactor_backupcodes/lib/Listener/ProviderDisabled.php index 7218bbf1ba8..a8d51e55c1b 100644 --- a/apps/twofactor_backupcodes/lib/Listener/ProviderDisabled.php +++ b/apps/twofactor_backupcodes/lib/Listener/ProviderDisabled.php @@ -18,16 +18,10 @@ use OCP\EventDispatcher\IEventListener; /** @template-implements IEventListener<TwoFactorProviderForUserUnregistered> */ class ProviderDisabled implements IEventListener { - /** @var IRegistry */ - private $registry; - - /** @var IJobList */ - private $jobList; - - public function __construct(IRegistry $registry, - IJobList $jobList) { - $this->registry = $registry; - $this->jobList = $jobList; + public function __construct( + private IRegistry $registry, + private IJobList $jobList, + ) { } public function handle(Event $event): void { diff --git a/apps/twofactor_backupcodes/lib/Listener/ProviderEnabled.php b/apps/twofactor_backupcodes/lib/Listener/ProviderEnabled.php index e65794b98a5..4ec510e7194 100644 --- a/apps/twofactor_backupcodes/lib/Listener/ProviderEnabled.php +++ b/apps/twofactor_backupcodes/lib/Listener/ProviderEnabled.php @@ -18,16 +18,10 @@ use OCP\EventDispatcher\IEventListener; /** @template-implements IEventListener<TwoFactorProviderForUserRegistered> */ class ProviderEnabled implements IEventListener { - /** @var IRegistry */ - private $registry; - - /** @var IJobList */ - private $jobList; - - public function __construct(IRegistry $registry, - IJobList $jobList) { - $this->registry = $registry; - $this->jobList = $jobList; + public function __construct( + private IRegistry $registry, + private IJobList $jobList, + ) { } public function handle(Event $event): void { diff --git a/apps/twofactor_backupcodes/lib/Listener/RegistryUpdater.php b/apps/twofactor_backupcodes/lib/Listener/RegistryUpdater.php index 11c2371a655..1cb07bd9805 100644 --- a/apps/twofactor_backupcodes/lib/Listener/RegistryUpdater.php +++ b/apps/twofactor_backupcodes/lib/Listener/RegistryUpdater.php @@ -17,15 +17,10 @@ use OCP\EventDispatcher\IEventListener; /** @template-implements IEventListener<CodesGenerated> */ class RegistryUpdater implements IEventListener { - /** @var IRegistry */ - private $registry; - - /** @var BackupCodesProvider */ - private $provider; - - public function __construct(IRegistry $registry, BackupCodesProvider $provider) { - $this->registry = $registry; - $this->provider = $provider; + public function __construct( + private IRegistry $registry, + private BackupCodesProvider $provider, + ) { } public function handle(Event $event): void { diff --git a/apps/twofactor_backupcodes/lib/Listener/UserDeleted.php b/apps/twofactor_backupcodes/lib/Listener/UserDeleted.php index 22aeda1a45e..72fd504b338 100644 --- a/apps/twofactor_backupcodes/lib/Listener/UserDeleted.php +++ b/apps/twofactor_backupcodes/lib/Listener/UserDeleted.php @@ -16,11 +16,9 @@ use OCP\User\Events\UserDeletedEvent; /** @template-implements IEventListener<UserDeletedEvent> */ class UserDeleted implements IEventListener { - /** @var BackupCodeMapper */ - private $backupCodeMapper; - - public function __construct(BackupCodeMapper $backupCodeMapper) { - $this->backupCodeMapper = $backupCodeMapper; + public function __construct( + private BackupCodeMapper $backupCodeMapper, + ) { } public function handle(Event $event): void { diff --git a/apps/twofactor_backupcodes/lib/Migration/CheckBackupCodes.php b/apps/twofactor_backupcodes/lib/Migration/CheckBackupCodes.php index 1011f4486dc..9c0c676134b 100644 --- a/apps/twofactor_backupcodes/lib/Migration/CheckBackupCodes.php +++ b/apps/twofactor_backupcodes/lib/Migration/CheckBackupCodes.php @@ -14,11 +14,9 @@ use OCP\Migration\IRepairStep; class CheckBackupCodes implements IRepairStep { - /** @var IJobList */ - private $jobList; - - public function __construct(IJobList $jobList) { - $this->jobList = $jobList; + public function __construct( + private IJobList $jobList, + ) { } public function getName(): string { diff --git a/apps/twofactor_backupcodes/lib/Migration/Version1002Date20170607113030.php b/apps/twofactor_backupcodes/lib/Migration/Version1002Date20170607113030.php index c76fc548cd9..bed733cd413 100644 --- a/apps/twofactor_backupcodes/lib/Migration/Version1002Date20170607113030.php +++ b/apps/twofactor_backupcodes/lib/Migration/Version1002Date20170607113030.php @@ -16,14 +16,12 @@ use OCP\Migration\SimpleMigrationStep; class Version1002Date20170607113030 extends SimpleMigrationStep { - /** @var IDBConnection */ - protected $connection; - /** * @param IDBConnection $connection */ - public function __construct(IDBConnection $connection) { - $this->connection = $connection; + public function __construct( + protected IDBConnection $connection, + ) { } /** diff --git a/apps/twofactor_backupcodes/lib/Migration/Version1002Date20170926101419.php b/apps/twofactor_backupcodes/lib/Migration/Version1002Date20170926101419.php index d8ac73def1e..d19fda49182 100644 --- a/apps/twofactor_backupcodes/lib/Migration/Version1002Date20170926101419.php +++ b/apps/twofactor_backupcodes/lib/Migration/Version1002Date20170926101419.php @@ -17,7 +17,7 @@ class Version1002Date20170926101419 extends BigIntMigration { /** * @return array Returns an array with the following structure - * ['table1' => ['column1', 'column2'], ...] + * ['table1' => ['column1', 'column2'], ...] * @since 13.0.0 */ protected function getColumnsByTable() { diff --git a/apps/twofactor_backupcodes/lib/Notifications/Notifier.php b/apps/twofactor_backupcodes/lib/Notifications/Notifier.php index ec24a59641f..e8144f52a56 100644 --- a/apps/twofactor_backupcodes/lib/Notifications/Notifier.php +++ b/apps/twofactor_backupcodes/lib/Notifications/Notifier.php @@ -16,15 +16,10 @@ use OCP\Notification\UnknownNotificationException; class Notifier implements INotifier { - /** @var IFactory */ - private $factory; - - /** @var IURLGenerator */ - private $url; - - public function __construct(IFactory $factory, IURLGenerator $url) { - $this->factory = $factory; - $this->url = $url; + public function __construct( + private IFactory $factory, + private IURLGenerator $url, + ) { } /** diff --git a/apps/twofactor_backupcodes/lib/Provider/BackupCodesProvider.php b/apps/twofactor_backupcodes/lib/Provider/BackupCodesProvider.php index dc47cf0b323..c521329e203 100644 --- a/apps/twofactor_backupcodes/lib/Provider/BackupCodesProvider.php +++ b/apps/twofactor_backupcodes/lib/Provider/BackupCodesProvider.php @@ -11,46 +11,24 @@ namespace OCA\TwoFactorBackupCodes\Provider; use OC\App\AppManager; use OCA\TwoFactorBackupCodes\Service\BackupCodeStorage; use OCA\TwoFactorBackupCodes\Settings\Personal; +use OCP\AppFramework\Services\IInitialState; use OCP\Authentication\TwoFactorAuth\IDeactivatableByAdmin; use OCP\Authentication\TwoFactorAuth\IPersonalProviderSettings; use OCP\Authentication\TwoFactorAuth\IProvidesPersonalSettings; -use OCP\IInitialStateService; use OCP\IL10N; use OCP\IUser; -use OCP\Template; +use OCP\Template\ITemplate; +use OCP\Template\ITemplateManager; class BackupCodesProvider implements IDeactivatableByAdmin, IProvidesPersonalSettings { - - /** @var string */ - private $appName; - - /** @var BackupCodeStorage */ - private $storage; - - /** @var IL10N */ - private $l10n; - - /** @var AppManager */ - private $appManager; - /** @var IInitialStateService */ - private $initialStateService; - - /** - * @param string $appName - * @param BackupCodeStorage $storage - * @param IL10N $l10n - * @param AppManager $appManager - */ - public function __construct(string $appName, - BackupCodeStorage $storage, - IL10N $l10n, - AppManager $appManager, - IInitialStateService $initialStateService) { - $this->appName = $appName; - $this->l10n = $l10n; - $this->storage = $storage; - $this->appManager = $appManager; - $this->initialStateService = $initialStateService; + public function __construct( + private string $appName, + private BackupCodeStorage $storage, + private IL10N $l10n, + private AppManager $appManager, + private IInitialState $initialState, + private ITemplateManager $templateManager, + ) { } /** @@ -84,10 +62,10 @@ class BackupCodesProvider implements IDeactivatableByAdmin, IProvidesPersonalSet * Get the template for rending the 2FA provider view * * @param IUser $user - * @return Template + * @return ITemplate */ - public function getTemplate(IUser $user): Template { - return new Template('twofactor_backupcodes', 'challenge'); + public function getTemplate(IUser $user): ITemplate { + return $this->templateManager->getTemplate('twofactor_backupcodes', 'challenge'); } /** @@ -142,11 +120,11 @@ class BackupCodesProvider implements IDeactivatableByAdmin, IProvidesPersonalSet */ public function getPersonalSettings(IUser $user): IPersonalProviderSettings { $state = $this->storage->getBackupCodesState($user); - $this->initialStateService->provideInitialState($this->appName, 'state', $state); + $this->initialState->provideInitialState('state', $state); return new Personal(); } - public function disableFor(IUser $user) { + public function disableFor(IUser $user): void { $this->storage->deleteCodes($user); } } diff --git a/apps/twofactor_backupcodes/lib/Service/BackupCodeStorage.php b/apps/twofactor_backupcodes/lib/Service/BackupCodeStorage.php index cab2033e94e..7dd6b3949e2 100644 --- a/apps/twofactor_backupcodes/lib/Service/BackupCodeStorage.php +++ b/apps/twofactor_backupcodes/lib/Service/BackupCodeStorage.php @@ -19,26 +19,12 @@ use OCP\Security\ISecureRandom; class BackupCodeStorage { private static $CODE_LENGTH = 16; - /** @var BackupCodeMapper */ - private $mapper; - - /** @var IHasher */ - private $hasher; - - /** @var ISecureRandom */ - private $random; - - /** @var IEventDispatcher */ - private $eventDispatcher; - - public function __construct(BackupCodeMapper $mapper, - ISecureRandom $random, - IHasher $hasher, - IEventDispatcher $eventDispatcher) { - $this->mapper = $mapper; - $this->hasher = $hasher; - $this->random = $random; - $this->eventDispatcher = $eventDispatcher; + public function __construct( + private BackupCodeMapper $mapper, + private ISecureRandom $random, + private IHasher $hasher, + private IEventDispatcher $eventDispatcher, + ) { } /** @@ -87,7 +73,7 @@ class BackupCodeStorage { $codes = $this->mapper->getBackupCodes($user); $total = count($codes); $used = 0; - array_walk($codes, function (BackupCode $code) use (&$used) { + array_walk($codes, function (BackupCode $code) use (&$used): void { if ((int)$code->getUsed() === 1) { $used++; } diff --git a/apps/twofactor_backupcodes/lib/Settings/Personal.php b/apps/twofactor_backupcodes/lib/Settings/Personal.php index 894597dd053..e03c3d303db 100644 --- a/apps/twofactor_backupcodes/lib/Settings/Personal.php +++ b/apps/twofactor_backupcodes/lib/Settings/Personal.php @@ -6,13 +6,16 @@ declare(strict_types=1); * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later */ + namespace OCA\TwoFactorBackupCodes\Settings; use OCP\Authentication\TwoFactorAuth\IPersonalProviderSettings; -use OCP\Template; +use OCP\Server; +use OCP\Template\ITemplate; +use OCP\Template\ITemplateManager; class Personal implements IPersonalProviderSettings { - public function getBody(): Template { - return new Template('twofactor_backupcodes', 'personal'); + public function getBody(): ITemplate { + return Server::get(ITemplateManager::class)->getTemplate('twofactor_backupcodes', 'personal'); } } |