diff --git a/appinfo/routes.php b/appinfo/routes.php index f54a04eda..4b632a268 100644 --- a/appinfo/routes.php +++ b/appinfo/routes.php @@ -84,8 +84,8 @@ return [ ['name' => 'board_api#undo_delete', 'url' => '/api/v1.0/board/{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}/stack', 'verb' => 'POST'], - ['name' => 'stack_api#delete', 'url' => '/api/v1.0/board/{boardId}/stack/{id}', 'verb' => 'DELETE'], + ['name' => 'stack_api#create', 'url' => '/api/v1.0/board/{boardId}/stacks', 'verb' => 'POST'], + ['name' => 'stack_api#delete', 'url' => '/api/v1.0/board/{boardId}/stacks/{id}', '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 2cf02e499..ad4dae9be 100644 --- a/lib/Controller/StackApiController.php +++ b/lib/Controller/StackApiController.php @@ -28,6 +28,7 @@ use OCP\AppFramework\Http; use OCP\AppFramework\Http\DataResponse; use OCP\IRequest; +use OCA\Deck\StatusException; use OCA\Deck\Service\StackService; /** @@ -59,7 +60,6 @@ class StackApiController extends ApiController { */ public function index($boardId) { $stacks = $this->service->findAll($boardId); - return new DataResponse($stacks); } @@ -73,19 +73,17 @@ class StackApiController extends ApiController { * * Create a stack with the specified title and order. */ - public function create($boardId, $title, $order) { - $errorMessage['params']['boardId'] = $boardId; - $errorMessage['params']['title'] = $title; - $errorMessage['params']['order'] = $order; + public function create($boardId, $title, $order) { + + try { + // this throws a StatusException that needs to be caught and handled + $stack = $this->service->create($title, $boardId, $order); + } catch (StatusException $e) { + $errorMessage['error'] = $e->getMessage(); + return new DataResponse($errorMessage, Http::STATUS_INTERNAL_SERVER_ERROR); + } - // try { - // // this throws a StatusException that needs to be caught and handled - // $stack = $this->service->create($title, $boardId, $order); - // } catch (StatusException $e) { - // return new DataResponse(null, Http::STATUS_OK); - // } - - return new DataResponse($errorMessage, HTTP::STATUS_NOT_IMPLEMENTED); + return new DataResponse($stack, HTTP::STATUS_OK); } /**