From cdf6db001698b507f088b640f4aa329b02010e2f Mon Sep 17 00:00:00 2001 From: Christopher Ng Date: Thu, 6 Feb 2025 15:59:40 -0800 Subject: [PATCH] fix(files_reminders): Only allow updating reminders if the file is accessible Signed-off-by: Christopher Ng --- apps/files_reminders/lib/Service/ReminderService.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/apps/files_reminders/lib/Service/ReminderService.php b/apps/files_reminders/lib/Service/ReminderService.php index 8bd6887e754..e4e9aa7a5d8 100644 --- a/apps/files_reminders/lib/Service/ReminderService.php +++ b/apps/files_reminders/lib/Service/ReminderService.php @@ -74,6 +74,11 @@ class ReminderService { */ public function createOrUpdate(IUser $user, int $fileId, DateTime $dueDate): bool { $now = new DateTime('now', new DateTimeZone('UTC')); + $userFolder = $this->root->getUserFolder($user->getUID()); + $node = $userFolder->getFirstNodeById($fileId); + if (!$node) { + throw new NodeNotFoundException(); + } try { $reminder = $this->reminderMapper->findDueForUser($user, $fileId); $reminder->setDueDate($dueDate); @@ -81,10 +86,6 @@ class ReminderService { $this->reminderMapper->update($reminder); return false; } catch (DoesNotExistException $e) { - $node = $this->root->getUserFolder($user->getUID())->getFirstNodeById($fileId); - if (!$node) { - throw new NodeNotFoundException(); - } // Create new reminder if no reminder is found $reminder = new Reminder(); $reminder->setUserId($user->getUID());