summaryrefslogtreecommitdiffstats
path: root/apps/files_reminders/lib
diff options
context:
space:
mode:
authorChristopher Ng <chrng8@gmail.com>2023-07-31 18:40:13 -0700
committerChristopher Ng <chrng8@gmail.com>2023-08-08 16:29:12 -0700
commit6fc3530b4f817470b2759ec65e6ac5986dd930c8 (patch)
tree25c4fe8a629d23e885294050752d1ee2ec11decf /apps/files_reminders/lib
parente12ae21745d464335ce3d4665f04ca564dac3bde (diff)
downloadnextcloud-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.php8
-rw-r--r--apps/files_reminders/lib/Service/ReminderService.php3
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);