fix(files_reminders): Only allow updating reminders if the file is accessible

Signed-off-by: Christopher Ng <chrng8@gmail.com>
This commit is contained in:
Christopher Ng 2025-02-06 15:59:40 -08:00 committed by Andy Scherzinger
parent f5cc31cbd5
commit cdf6db0016
No known key found for this signature in database
GPG key ID: 6CADC7E3523C308B

View file

@ -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());