diff --git a/app/Text/TextController.php b/app/Text/TextController.php new file mode 100644 index 0000000..500986e --- /dev/null +++ b/app/Text/TextController.php @@ -0,0 +1,53 @@ +textRepository->getAll(); + + $data = array_map(fn($text) => [ + 'id' => $text->getId(), + 'name' => $text->getName(), + ], $texts); + + $response->getBody()->write(json_encode($data)); + return $response->withHeader('Content-Type', 'application/json'); + } + + public function createText( + Request $request, + Response $response, + CreateText $createTextUseCase, + ): Response { + $data = $request->getParsedBody(); + $name = $data['name'] ?? ''; + + if (!empty($name)) { + $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'); + } + + $response->getBody()->write(json_encode(['error' => 'Name is required'])); + return $response->withStatus(400); + } +}