summaryrefslogtreecommitdiffstats
path: root/apps/files_reminders/lib
diff options
context:
space:
mode:
authorChristopher Ng <chrng8@gmail.com>2023-07-31 12:10:50 -0700
committerChristopher Ng <chrng8@gmail.com>2023-08-08 16:29:12 -0700
commit8a410f19b4cf6185ef120470dcdcc6ee6bdfacc9 (patch)
treeaaf9e15cfd50a2c6d39b1cea323f8649635402ee /apps/files_reminders/lib
parent332fd3d93bb6d7d0d3b543ea3baf5a5a388a6dc5 (diff)
downloadnextcloud-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.php5
-rw-r--r--apps/files_reminders/lib/Service/ReminderService.php6
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;
}
}