From 3cb496daa2b5a607cceba632013039e4e155f89e Mon Sep 17 00:00:00 2001 From: Ryan Fletcher Date: Thu, 12 Jul 2018 21:45:43 -0400 Subject: [PATCH] Cleaned up StackApiController to use proper route parameters, removed route parameters from request payloads as per rest standards. Signed-off-by: Ryan Fletcher --- appinfo/routes.php | 8 +++--- lib/Controller/StackApiController.php | 40 +++++++++++++-------------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/appinfo/routes.php b/appinfo/routes.php index b07f465d9..f9f0fb992 100644 --- a/appinfo/routes.php +++ b/appinfo/routes.php @@ -84,10 +84,10 @@ return [ ['name' => 'board_api#update', 'url' => '/api/v1.0/boards/{id}', 'verb' => 'PUT'], ['name' => 'board_api#undo_delete', 'url' => '/api/v1.0/boards/{id}/undo_delete', 'verb' => 'POST'], - ['name' => 'stack_api#index', 'url' => '/api/v1.0/board/{boardId}/stacks', 'verb' => 'GET'], - ['name' => 'stack_api#create', 'url' => '/api/v1.0/board/{boardId}/stacks', 'verb' => 'POST'], - ['name' => 'stack_api#update', 'url' => '/api/v1.0/board/{boardId}/stacks/{id}', 'verb' => 'PUT'], - ['name' => 'stack_api#delete', 'url' => '/api/v1.0/board/{boardId}/stacks/{id}', 'verb' => 'DELETE'], + ['name' => 'stack_api#index', 'url' => '/api/v1.0/boards/{boardId}/stacks', 'verb' => 'GET'], + ['name' => 'stack_api#create', 'url' => '/api/v1.0/boards/{boardId}/stacks', 'verb' => 'POST'], + ['name' => 'stack_api#update', 'url' => '/api/v1.0/boards/{boardId}/stacks/{stackId}', 'verb' => 'PUT'], + ['name' => 'stack_api#delete', 'url' => '/api/v1.0/boards/{boardId}/stacks/{stackId}', 'verb' => 'DELETE'], ['name' => 'board_api#preflighted_cors', 'url' => '/api/v1.0/{path}', 'verb' => 'OPTIONS', 'requirements' => ['path' => '.+']], diff --git a/lib/Controller/StackApiController.php b/lib/Controller/StackApiController.php index f73a768e7..84717c100 100644 --- a/lib/Controller/StackApiController.php +++ b/lib/Controller/StackApiController.php @@ -3,6 +3,7 @@ * @copyright Copyright (c) 2017 Steven R. Baker * * @author Steven R. Baker + * @author Ryan Fletcher * * @license GNU AGPL version 3 or any later version * @@ -58,8 +59,8 @@ class StackApiController extends ApiController { * * Return all of the stacks in the specified board. */ - public function index($boardId) { - $stacks = $this->service->findAll($boardId); + public function index() { + $stacks = $this->service->findAll($this->request->params['boardId']); if ($stacks === false || $stacks === null) { return new DataResponse("No Stacks Found", HTTP::STATUS_NOT_FOUND); @@ -78,10 +79,10 @@ class StackApiController extends ApiController { * * Create a stack with the specified title and order. */ - public function create($boardId, $title, $order) { + public function create($title, $order) { - try { - $stack = $this->service->create($title, $boardId, $order); + try { + $stack = $this->service->create($title, $this->request->params['boardId'], $order); } catch (StatusException $e) { $errorMessage['error'] = $e->getMessage(); return new DataResponse($errorMessage, HTTP::STATUS_INTERNAL_SERVER_ERROR); @@ -94,18 +95,19 @@ class StackApiController extends ApiController { * @NoAdminRequired * @CORS * @NoCSRFRequired - * - * @params $stackId - * @params $title - * @params $boardId + * + * @params $title * @params $order * - * Create a stack with the specified title and order. + * Update a stack by the specified stackId and boardId with the values that were put. */ - public function update($stackId, $title, $boardId, $order) { - + public function update($title, $order) { try { - $stack = $this->service->update($stackId, $title, $boardId, $order); + $stack = $this->service->update( + $this->request->params['stackId'], + $title, + $this->request->params['boardId'], + $order); } catch (StatusException $e) { $errorMessage['error'] = $e->getMessage(); return new DataResponse($errorMessage, HTTP::STATUS_INTERNAL_SERVER_ERROR); @@ -117,15 +119,13 @@ class StackApiController extends ApiController { /** * @NoAdminRequired * @CORS - * @NoCSRFRequired + * @NoCSRFRequired * - * @params $id - * - * Delete the stack specified by $id. Return the board that was deleted. + * Delete the stack specified by $this->request->params['id']. Return the board that was deleted. */ - public function delete($boardId, $stackId) { - $stack = $this->service->delete($stackId); - + public function delete() { + $stack = $this->service->delete($this->request->params['stackId']); + if ($stack == false || $stack == null) { return new DataResponse("Stack Not Found", HTTP::STATUS_NOT_FOUND); }