diff options
author | Christopher Ng <chrng8@gmail.com> | 2023-07-31 12:10:50 -0700 |
---|---|---|
committer | Christopher Ng <chrng8@gmail.com> | 2023-08-08 16:29:12 -0700 |
commit | 8a410f19b4cf6185ef120470dcdcc6ee6bdfacc9 (patch) | |
tree | aaf9e15cfd50a2c6d39b1cea323f8649635402ee /apps/files_reminders/lib | |
parent | 332fd3d93bb6d7d0d3b543ea3baf5a5a388a6dc5 (diff) | |
download | nextcloud-server-8a410f19b4cf6185ef120470dcdcc6ee6bdfacc9.tar.gz nextcloud-server-8a410f19b4cf6185ef120470dcdcc6ee6bdfacc9.zip |
enh: return created status code
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit bdf07413d02a23aa460aa821191325b04561d597)
Diffstat (limited to 'apps/files_reminders/lib')
-rw-r--r-- | apps/files_reminders/lib/Controller/ApiController.php | 5 | ||||
-rw-r--r-- | apps/files_reminders/lib/Service/ReminderService.php | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/apps/files_reminders/lib/Controller/ApiController.php b/apps/files_reminders/lib/Controller/ApiController.php index 30465f6a69b..fc1b647148d 100644 --- a/apps/files_reminders/lib/Controller/ApiController.php +++ b/apps/files_reminders/lib/Controller/ApiController.php @@ -94,7 +94,10 @@ class ApiController extends OCSController { } try { - $this->reminderService->createOrUpdate($user, $fileId, $dueDate); + $created = $this->reminderService->createOrUpdate($user, $fileId, $dueDate); + if ($created) { + return new JSONResponse([], Http::STATUS_CREATED); + } return new JSONResponse([], Http::STATUS_OK); } catch (NodeNotFoundException $e) { return new JSONResponse([], Http::STATUS_NOT_FOUND); diff --git a/apps/files_reminders/lib/Service/ReminderService.php b/apps/files_reminders/lib/Service/ReminderService.php index fe746dc75ca..8dbec6d5df7 100644 --- a/apps/files_reminders/lib/Service/ReminderService.php +++ b/apps/files_reminders/lib/Service/ReminderService.php @@ -80,15 +80,18 @@ class ReminderService { } /** + * @return bool true if created, false if updated + * * @throws NodeNotFoundException */ - public function createOrUpdate(IUser $user, int $fileId, DateTime $dueDate): void { + public function createOrUpdate(IUser $user, int $fileId, DateTime $dueDate): bool { $now = new DateTime('now', new DateTimeZone('UTC')); try { $reminder = $this->reminderMapper->findDueForUser($user, $fileId); $reminder->setDueDate($dueDate); $reminder->setUpdatedAt($now); $this->reminderMapper->update($reminder); + return false; } catch (DoesNotExistException $e) { $nodes = $this->root->getUserFolder($user->getUID())->getById($fileId); if (empty($nodes)) { @@ -102,6 +105,7 @@ class ReminderService { $reminder->setUpdatedAt($now); $reminder->setCreatedAt($now); $this->reminderMapper->insert($reminder); + return true; } } |