Added delete operation to CardApiController

Signed-off-by: Ryan Fletcher <ryan.fletcher@codepassion.ca>
This commit is contained in:
Ryan Fletcher
2018-07-13 10:04:22 -04:00
committed by Julius Härtl
parent e5f7f89ed9
commit b82591a0bc
2 changed files with 35 additions and 0 deletions

View File

@@ -94,6 +94,7 @@ return [
['name' => 'card_api#get', 'url' => '/api/v1.0/boards/{boardId}/stacks/{stackId}/cards/{cardId}', 'verb' => 'GET'],
['name' => 'card_api#create', 'url' => '/api/v1.0/boards/{boardId}/stacks/{stackId}/cards', 'verb' => 'POST'],
['name' => 'card_api#update', 'url' => '/api/v1.0/boards/{boardId}/stacks/{stackId}/cards/{cardId}', 'verb' => 'PUT'],
['name' => 'card_api#delete', 'url' => '/api/v1.0/boards/{boardId}/stacks/{stackId}/cards/{cardId}', 'verb' => 'DELETE'],
['name' => 'board_api#preflighted_cors', 'url' => '/api/v1.0/{path}','verb' => 'OPTIONS', 'requirements' => ['path' => '.+']],
]

View File

@@ -142,6 +142,10 @@ class CardApiController extends ApiController {
return new DataResponse("stack id must be a number", HTTP::STATUS_BAD_REQUEST);
}
if (is_numeric($this->request->params['boardId']) === false) {
return new DataResponse("board id must be a number", HTTP::STATUS_BAD_REQUEST);
}
if ($title === false || $title === null) {
return new DataResponse("title must be provided", HTTP::STATUS_BAD_REQUEST);
}
@@ -164,6 +168,36 @@ class CardApiController extends ApiController {
return new DataResponse($e->getMessage(), HTTP::STATUS_INTERNAL_SERVER_ERROR);
}
return new DataResponse($card, HTTP::STATUS_OK);
}
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*
* Delete a specific card.
*/
public function delete() {
if (is_numeric($this->request->params['cardId']) === false) {
return new DataResponse("card id must be a number", HTTP::STATUS_BAD_REQUEST);
}
if (is_numeric($this->request->params['stackId']) === false) {
return new DataResponse("stack id must be a number", HTTP::STATUS_BAD_REQUEST);
}
if (is_numeric($this->request->params['boardId']) === false) {
return new DataResponse("board id must be a number", HTTP::STATUS_BAD_REQUEST);
}
try {
$card = $this->cardService->delete($this->request->params['cardId']);
} catch (Exception $e) {
return new DataResponse($e.getMessage(), HTTP::STATUS_INTERNAL_SERVER_ERROR);
}
return new DataResponse($card, HTTP::STATUS_OK);
}
}