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 @@