From bdf3b46daf4a1966ca7af881806461a75adf1453 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Fri, 1 Dec 2023 09:17:02 +0100 Subject: [PATCH] fix(out-of-office)!: Remove non OCS endpoint Signed-off-by: Joas Schilling --- apps/dav/appinfo/routes.php | 2 - .../composer/composer/autoload_classmap.php | 1 - .../dav/composer/composer/autoload_static.php | 1 - .../AvailabilitySettingsController.php | 99 ------------------- 4 files changed, 103 deletions(-) delete mode 100644 apps/dav/lib/Controller/AvailabilitySettingsController.php diff --git a/apps/dav/appinfo/routes.php b/apps/dav/appinfo/routes.php index d4a9f4cbeeb49..a6874aeb57da7 100644 --- a/apps/dav/appinfo/routes.php +++ b/apps/dav/appinfo/routes.php @@ -30,8 +30,6 @@ ['name' => 'invitation_response#decline', 'url' => '/invitation/decline/{token}', 'verb' => 'GET'], ['name' => 'invitation_response#options', 'url' => '/invitation/moreOptions/{token}', 'verb' => 'GET'], ['name' => 'invitation_response#processMoreOptionsResult', 'url' => '/invitation/moreOptions/{token}', 'verb' => 'POST'], - ['name' => 'availability_settings#updateAbsence', 'url' => '/settings/absence', 'verb' => 'POST'], - ['name' => 'availability_settings#clearAbsence', 'url' => '/settings/absence', 'verb' => 'DELETE'], ], 'ocs' => [ ['name' => 'direct#getUrl', 'url' => '/api/v1/direct', 'verb' => 'POST'], diff --git a/apps/dav/composer/composer/autoload_classmap.php b/apps/dav/composer/composer/autoload_classmap.php index ef28133ed06d7..5d6b077ad532e 100644 --- a/apps/dav/composer/composer/autoload_classmap.php +++ b/apps/dav/composer/composer/autoload_classmap.php @@ -193,7 +193,6 @@ 'OCA\\DAV\\Connector\\Sabre\\SharesPlugin' => $baseDir . '/../lib/Connector/Sabre/SharesPlugin.php', 'OCA\\DAV\\Connector\\Sabre\\TagList' => $baseDir . '/../lib/Connector/Sabre/TagList.php', 'OCA\\DAV\\Connector\\Sabre\\TagsPlugin' => $baseDir . '/../lib/Connector/Sabre/TagsPlugin.php', - 'OCA\\DAV\\Controller\\AvailabilitySettingsController' => $baseDir . '/../lib/Controller/AvailabilitySettingsController.php', 'OCA\\DAV\\Controller\\BirthdayCalendarController' => $baseDir . '/../lib/Controller/BirthdayCalendarController.php', 'OCA\\DAV\\Controller\\DirectController' => $baseDir . '/../lib/Controller/DirectController.php', 'OCA\\DAV\\Controller\\InvitationResponseController' => $baseDir . '/../lib/Controller/InvitationResponseController.php', diff --git a/apps/dav/composer/composer/autoload_static.php b/apps/dav/composer/composer/autoload_static.php index 73e680ef2e897..2456604a9cbde 100644 --- a/apps/dav/composer/composer/autoload_static.php +++ b/apps/dav/composer/composer/autoload_static.php @@ -208,7 +208,6 @@ class ComposerStaticInitDAV 'OCA\\DAV\\Connector\\Sabre\\SharesPlugin' => __DIR__ . '/..' . '/../lib/Connector/Sabre/SharesPlugin.php', 'OCA\\DAV\\Connector\\Sabre\\TagList' => __DIR__ . '/..' . '/../lib/Connector/Sabre/TagList.php', 'OCA\\DAV\\Connector\\Sabre\\TagsPlugin' => __DIR__ . '/..' . '/../lib/Connector/Sabre/TagsPlugin.php', - 'OCA\\DAV\\Controller\\AvailabilitySettingsController' => __DIR__ . '/..' . '/../lib/Controller/AvailabilitySettingsController.php', 'OCA\\DAV\\Controller\\BirthdayCalendarController' => __DIR__ . '/..' . '/../lib/Controller/BirthdayCalendarController.php', 'OCA\\DAV\\Controller\\DirectController' => __DIR__ . '/..' . '/../lib/Controller/DirectController.php', 'OCA\\DAV\\Controller\\InvitationResponseController' => __DIR__ . '/..' . '/../lib/Controller/InvitationResponseController.php', diff --git a/apps/dav/lib/Controller/AvailabilitySettingsController.php b/apps/dav/lib/Controller/AvailabilitySettingsController.php deleted file mode 100644 index daa39df470e8a..0000000000000 --- a/apps/dav/lib/Controller/AvailabilitySettingsController.php +++ /dev/null @@ -1,99 +0,0 @@ - - * - * @author Richard Steinmetz - * - * @license AGPL-3.0-or-later - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU 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 General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - */ - -namespace OCA\DAV\Controller; - -use DateTimeImmutable; -use OCA\DAV\AppInfo\Application; -use OCA\DAV\Service\AbsenceService; -use OCP\AppFramework\Controller; -use OCP\AppFramework\Http; -use OCP\AppFramework\Http\Attribute\NoAdminRequired; -use OCP\AppFramework\Http\JSONResponse; -use OCP\AppFramework\Http\Response; -use OCP\IRequest; -use OCP\IUserSession; -use OCP\User\IAvailabilityCoordinator; - -class AvailabilitySettingsController extends Controller { - public function __construct( - IRequest $request, - private ?IUserSession $userSession, - private AbsenceService $absenceService, - private IAvailabilityCoordinator $coordinator, - ) { - parent::__construct(Application::APP_ID, $request); - } - - /** - * @throws \OCP\DB\Exception - * @throws \Exception - */ - #[NoAdminRequired] - public function updateAbsence( - string $firstDay, - string $lastDay, - string $status, - string $message, - ): Response { - $user = $this->userSession?->getUser(); - if ($user === null) { - return new JSONResponse([], Http::STATUS_FORBIDDEN); - } - - $parsedFirstDay = new DateTimeImmutable($firstDay); - $parsedLastDay = new DateTimeImmutable($lastDay); - if ($parsedFirstDay->getTimestamp() >= $parsedLastDay->getTimestamp()) { - throw new \Exception('First day is on or after last day'); - } - - $absence = $this->absenceService->createOrUpdateAbsence( - $user, - $firstDay, - $lastDay, - $status, - $message, - ); - $this->coordinator->clearCache($user->getUID()); - return new JSONResponse($absence); - } - - /** - * @throws \OCP\DB\Exception - */ - #[NoAdminRequired] - public function clearAbsence(): Response { - $user = $this->userSession?->getUser(); - if ($user === null) { - return new JSONResponse([], Http::STATUS_FORBIDDEN); - } - - $this->absenceService->clearAbsence($user); - $this->coordinator->clearCache($user->getUID()); - return new JSONResponse([]); - } - -}