diff --git a/app/View/ViewController.php b/app/View/ViewController.php index a9f4ccc..e6c6196 100644 --- a/app/View/ViewController.php +++ b/app/View/ViewController.php @@ -2,8 +2,12 @@ namespace App\View; +use App\Text\CreateTextDto; use App\Text\TextRepository; +use App\Text\UseCases\CreateText; +use App\Text\UseCases\CreateTextRequest; use Psr\Http\Message\ResponseInterface as Response; +use Psr\Http\Message\ServerRequestInterface as Request; class ViewController { @@ -34,4 +38,21 @@ class ViewController return $response; } + + public function createText( + Request $request, + Response $response, + CreateText $createTextUseCase, + ): Response { + $data = $request->getParsedBody(); + $name = $data['name'] ?? ''; + + if (!empty($name)) { + $createTextUseCase->execute(new CreateTextRequest( + name: $name, + )); + } + + return $response->withHeader('Location', '/admin/texts')->withStatus(302); + } }