Added exception handling to StackApiController->create()

Signed-off-by: Ryan Fletcher <ryan.fletcher@codepassion.ca>
This commit is contained in:
Ryan Fletcher
2018-07-12 15:31:52 -04:00
committed by Julius Härtl
parent 656e8efa43
commit 8771e35f11
2 changed files with 13 additions and 15 deletions

View File

@@ -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' => '.+']],

View File

@@ -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);
}
@@ -74,18 +74,16 @@ 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;
// 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);
// }
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);
}
return new DataResponse($errorMessage, HTTP::STATUS_NOT_IMPLEMENTED);
return new DataResponse($stack, HTTP::STATUS_OK);
}
/**