diff options
author | Christopher Ng <chrng8@gmail.com> | 2023-07-31 18:40:13 -0700 |
---|---|---|
committer | Christopher Ng <chrng8@gmail.com> | 2023-08-08 16:29:12 -0700 |
commit | 6fc3530b4f817470b2759ec65e6ac5986dd930c8 (patch) | |
tree | 25c4fe8a629d23e885294050752d1ee2ec11decf /apps/files_reminders/lib | |
parent | e12ae21745d464335ce3d4665f04ca564dac3bde (diff) | |
download | nextcloud-server-6fc3530b4f817470b2759ec65e6ac5986dd930c8.tar.gz nextcloud-server-6fc3530b4f817470b2759ec65e6ac5986dd930c8.zip |
fix: exit on reminder not found
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 9e8354e0ac35090995a0451ccd1166f178815ea1)
Diffstat (limited to 'apps/files_reminders/lib')
-rw-r--r-- | apps/files_reminders/lib/Notification/Notifier.php | 8 | ||||
-rw-r--r-- | apps/files_reminders/lib/Service/ReminderService.php | 3 |
2 files changed, 10 insertions, 1 deletions
diff --git a/apps/files_reminders/lib/Notification/Notifier.php b/apps/files_reminders/lib/Notification/Notifier.php index fb1d3264dbd..c7384b43224 100644 --- a/apps/files_reminders/lib/Notification/Notifier.php +++ b/apps/files_reminders/lib/Notification/Notifier.php @@ -30,6 +30,7 @@ use InvalidArgumentException; use OCA\FilesReminders\AppInfo\Application; use OCA\FilesReminders\Exception\NodeNotFoundException; use OCA\FilesReminders\Service\ReminderService; +use OCP\AppFramework\Db\DoesNotExistException; use OCP\Files\FileInfo; use OCP\IURLGenerator; use OCP\L10N\IFactory; @@ -66,8 +67,13 @@ class Notifier implements INotifier { switch ($notification->getSubject()) { case 'reminder-due': $reminderId = (int)$notification->getObjectId(); - $node = $this->reminderService->get($reminderId)->getNode(); + try { + $reminder = $this->reminderService->get($reminderId); + } catch (DoesNotExistException $e) { + throw new InvalidArgumentException(); + } + $node = $reminder->getNode(); $path = rtrim($node->getPath(), '/'); if (strpos($path, '/' . $notification->getUser() . '/files/') === 0) { // Remove /user/files/... diff --git a/apps/files_reminders/lib/Service/ReminderService.php b/apps/files_reminders/lib/Service/ReminderService.php index eec2f1780bd..91652a4e0be 100644 --- a/apps/files_reminders/lib/Service/ReminderService.php +++ b/apps/files_reminders/lib/Service/ReminderService.php @@ -54,6 +54,9 @@ class ReminderService { protected LoggerInterface $logger, ) {} + /** + * @throws DoesNotExistException + */ public function get(int $id): RichReminder { $reminder = $this->reminderMapper->find($id); return new RichReminder($reminder, $this->root); |