From fa8be2e60da6cb7db7b5e15ce02b54a7bfff8adf Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Fri, 30 Aug 2019 21:32:47 +0200 Subject: [PATCH] Use a proper DELETE to delete the form in a more resty way Signed-off-by: Roeland Jago Douma --- appinfo/routes.php | 2 +- lib/Controller/ApiController.php | 8 ++++++-- src/views/List.vue | 6 +++--- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/appinfo/routes.php b/appinfo/routes.php index a0d1504..1727242 100644 --- a/appinfo/routes.php +++ b/appinfo/routes.php @@ -42,7 +42,7 @@ return [ ['name' => 'api#get_votes', 'url' => '/get/votes/{formId}', 'verb' => 'GET'], ['name' => 'api#get_shares', 'url' => '/get/shares/{formId}', 'verb' => 'GET'], ['name' => 'api#get_event', 'url' => '/get/event/{formId}', 'verb' => 'GET'], - ['name' => 'api#remove_form', 'url' => '/remove/form', 'verb' => 'POST'], + ['name' => 'api#remove_form', 'url' => '/forms/{id}', 'verb' => 'DELETE'], ['name' => 'api#get_forms', 'url' => '/get/forms', 'verb' => 'GET'], ['name' => 'system#get_site_users_and_groups', 'url' => '/get/siteusers', 'verb' => 'POST'], diff --git a/lib/Controller/ApiController.php b/lib/Controller/ApiController.php index 690dc43..7905269 100644 --- a/lib/Controller/ApiController.php +++ b/lib/Controller/ApiController.php @@ -397,8 +397,12 @@ class ApiController extends Controller { * @param int $formId * @return DataResponse */ - public function removeForm($id) { - $formToDelete = $this->eventMapper->find($id); + public function removeForm(int $id) { + try { + $formToDelete = $this->eventMapper->find($id); + } catch (DoesNotExistException $e) { + return new Http\JSONResponse([], Http::STATUS_NOT_FOUND); + } if ($this->userId !== $formToDelete->getOwner() && !$this->groupManager->isAdmin($this->userId)) { return new DataResponse(null, Http::STATUS_UNAUTHORIZED); } diff --git a/src/views/List.vue b/src/views/List.vue index 20b4ff2..3b9df62 100644 --- a/src/views/List.vue +++ b/src/views/List.vue @@ -63,9 +63,9 @@