feature: add task delete method
This commit is contained in:
parent
5b964a4676
commit
713c8e5137
@ -19,8 +19,11 @@ $routeCollector->setDefaultInvocationStrategy(new RequestResponseArgs());
|
||||
|
||||
$app->get('/', [HomeFrontController::class, 'home']);
|
||||
|
||||
$app->get('/tasks', [TaskController::class, 'getTasks']);
|
||||
|
||||
$app->get('/tasks/{id}', [TaskController::class, 'getTask']);
|
||||
$app->delete('/tasks/{id}', [TaskController::class, 'delete']);
|
||||
|
||||
$app->get('/tasks', [TaskController::class, 'getTasks']);
|
||||
$app->post('/tasks', [TaskController::class, 'addTask']);
|
||||
|
||||
|
||||
|
@ -155,4 +155,27 @@ class TaskController
|
||||
return $errorResponse;
|
||||
}
|
||||
}
|
||||
|
||||
public function delete(ServerRequestInterface $request, ResponseInterface $response, $id): ResponseInterface
|
||||
{
|
||||
try
|
||||
{
|
||||
$task = $this->repository->readById((int) $id);
|
||||
$this->repository->delete($task);
|
||||
|
||||
$this->builder->setOptionalMessage('Task deleted.');
|
||||
$response->getBody()->write($this->builder->build());
|
||||
|
||||
return $response;
|
||||
|
||||
} catch (TaskNotFoundException $exception)
|
||||
{
|
||||
$this->builder->setError()->setErrorMessage($exception->getMessage())->setErrorCode(404);
|
||||
|
||||
$errorResponse = $response->withStatus(404);
|
||||
$errorResponse->getBody()->write($this->builder->build());
|
||||
|
||||
return $errorResponse;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user