From b7617a7e540b2e27a03d46cf79986151f1a0c03d Mon Sep 17 00:00:00 2001 From: korelstar Date: Wed, 5 Feb 2020 17:16:18 +0100 Subject: [PATCH] API: send HTTP 404 if note is not found --- lib/Controller/NotesApiController.php | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/lib/Controller/NotesApiController.php b/lib/Controller/NotesApiController.php index 7b52292cf..52b553e28 100644 --- a/lib/Controller/NotesApiController.php +++ b/lib/Controller/NotesApiController.php @@ -11,6 +11,7 @@ use OCA\Notes\Service\NotesService; use OCA\Notes\Service\MetaService; use OCA\Notes\Service\InsufficientStorageException; +use OCA\Notes\Service\NoteDoesNotExistException; use OCA\Notes\Db\Note; /** @@ -113,10 +114,14 @@ public function index($exclude = '', $pruneBefore = 0) { * @return DataResponse */ public function get($id, $exclude = '') { - $exclude = explode(',', $exclude); - $note = $this->service->get($id, $this->getUID()); - $note = $this->excludeFields($note, $exclude); - return new DataResponse($note); + try { + $exclude = explode(',', $exclude); + $note = $this->service->get($id, $this->getUID()); + $note = $this->excludeFields($note, $exclude); + return new DataResponse($note); + } catch (NoteDoesNotExistException $e) { + return new DataResponse([], Http::STATUS_NOT_FOUND); + } } @@ -164,6 +169,8 @@ public function update($id, $content = null, $category = null, $modified = 0, $f try { $note = $this->updateData($id, $content, $category, $modified, $favorite); return new DataResponse($note); + } catch (NoteDoesNotExistException $e) { + return new DataResponse([], Http::STATUS_NOT_FOUND); } catch (InsufficientStorageException $e) { return new DataResponse([], Http::STATUS_INSUFFICIENT_STORAGE); } @@ -197,7 +204,11 @@ private function updateData($id, $content, $category, $modified, $favorite) { * @return DataResponse */ public function destroy($id) { - $this->service->delete($id, $this->getUID()); - return new DataResponse([]); + try { + $this->service->delete($id, $this->getUID()); + return new DataResponse([]); + } catch (NoteDoesNotExistException $e) { + return new DataResponse([], Http::STATUS_NOT_FOUND); + } } }