diff options
Diffstat (limited to 'apps/settings/lib/WellKnown/ChangePasswordHandler.php')
-rw-r--r-- | apps/settings/lib/WellKnown/ChangePasswordHandler.php | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/apps/settings/lib/WellKnown/ChangePasswordHandler.php b/apps/settings/lib/WellKnown/ChangePasswordHandler.php new file mode 100644 index 00000000000..9609579ef0a --- /dev/null +++ b/apps/settings/lib/WellKnown/ChangePasswordHandler.php @@ -0,0 +1,34 @@ +<?php + +declare(strict_types=1); + +/** + * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +namespace OCA\Settings\WellKnown; + +use OCP\AppFramework\Http\RedirectResponse; +use OCP\Http\WellKnown\GenericResponse; +use OCP\Http\WellKnown\IHandler; +use OCP\Http\WellKnown\IRequestContext; +use OCP\Http\WellKnown\IResponse; +use OCP\IURLGenerator; + +class ChangePasswordHandler implements IHandler { + + public function __construct( + private IURLGenerator $urlGenerator, + ) { + } + + public function handle(string $service, IRequestContext $context, ?IResponse $previousResponse): ?IResponse { + if ($service !== 'change-password') { + return $previousResponse; + } + + $response = new RedirectResponse($this->urlGenerator->linkToRouteAbsolute('settings.PersonalSettings.index', ['section' => 'security'])); + return new GenericResponse($response); + } +} |