diff --git a/app/Text/TextController.php b/app/Text/TextController.php index c608018..3834f32 100644 --- a/app/Text/TextController.php +++ b/app/Text/TextController.php @@ -2,6 +2,7 @@ namespace App\Text; +use App\Exceptions\BadRequestException; use App\Text\TextRepository; use App\Text\UseCases\CreateText; use App\Text\UseCases\CreateTextRequest; @@ -50,21 +51,21 @@ class TextController CreateText $createTextUseCase, ): Response { $data = $request->getParsedBody(); - $name = $data['name'] ?? ''; + $name = $data['name'] ?? null; - if (!empty($name)) { + try { $text = $createTextUseCase->execute(new CreateTextRequest( name: $name, )); - - $response->getBody()->write(json_encode([ - 'id' => $text->getId(), - 'name' => $text->getName(), - ])); - return $response->withHeader('Content-Type', 'application/json'); + } catch (BadRequestException $e) { + $response->getBody()->write(json_encode(['error' => $e->getMessage()])); + return $response->withStatus(400)->withHeader('Content-Type', 'application/json'); } - $response->getBody()->write(json_encode(['error' => 'Name is required'])); - return $response->withStatus(400); + $response->getBody()->write(json_encode([ + 'id' => $text->getId(), + 'name' => $text->getName(), + ])); + return $response->withHeader('Content-Type', 'application/json'); } }