diff --git a/src/Presentation/Api/V1/Dto/Employees/EmployeeDto.php b/src/Presentation/Api/V1/Dto/Employees/EmployeeDto.php index d396684..bb40a05 100644 --- a/src/Presentation/Api/V1/Dto/Employees/EmployeeDto.php +++ b/src/Presentation/Api/V1/Dto/Employees/EmployeeDto.php @@ -4,8 +4,8 @@ declare(strict_types=1); namespace Presentation\Api\V1\Dto\Employees; -use Application\Usecase\Employees\Find\EmployeeShowView; use Presentation\Api\V1\Contracts\ApiResponseDto; +use Presentation\Api\V1\Presenters\Employees\EmployeeShowView; final readonly class EmployeeDto implements ApiResponseDto { diff --git a/src/Presentation/Api/V1/Http/Controllers/Employees/EmployeeShowController.php b/src/Presentation/Api/V1/Http/Controllers/Employees/EmployeeShowController.php index 68d4076..c63b8df 100644 --- a/src/Presentation/Api/V1/Http/Controllers/Employees/EmployeeShowController.php +++ b/src/Presentation/Api/V1/Http/Controllers/Employees/EmployeeShowController.php @@ -4,11 +4,11 @@ declare(strict_types=1); namespace Presentation\Api\V1\Http\Controllers\Employees; -use Application\Usecase\Employees\Find\EmployeeShowPresenter; use Application\Usecase\Employees\Find\FindEmployee; use Illuminate\Http\JsonResponse; use Presentation\Api\V1\Http\Requests\Employees\EmployeeShowRequest; use Presentation\Api\V1\Http\Responses\Employees\EmployeeShowResponse; +use Presentation\Api\V1\Presenters\Employees\EmployeeShowPresenter; use Shared\DDD\Usecase\Builder\UsecaseBuilder; use Shared\DDD\Usecase\Builder\UsecaseExecutor; @@ -24,7 +24,7 @@ final readonly class EmployeeShowController public function __invoke(EmployeeShowRequest $request): JsonResponse { - /** @var \Application\Usecase\Employees\Find\EmployeeShowView $response */ + /** @var \Presentation\Api\V1\Presenters\Employees\EmployeeShowView $response */ $response = UsecaseBuilder::using($this->executor) ->do($this->usecase) ->from($request->toInput()) diff --git a/src/Presentation/Api/V1/Http/Controllers/Employees/EmployeesIndexController.php b/src/Presentation/Api/V1/Http/Controllers/Employees/EmployeesIndexController.php index 80e2529..0263638 100644 --- a/src/Presentation/Api/V1/Http/Controllers/Employees/EmployeesIndexController.php +++ b/src/Presentation/Api/V1/Http/Controllers/Employees/EmployeesIndexController.php @@ -4,11 +4,11 @@ declare(strict_types=1); namespace Presentation\Api\V1\Http\Controllers\Employees; -use Application\Usecase\Employees\FindAll\EmployeesIndexPresenter; use Application\Usecase\Employees\FindAll\FindAllEmployees; use Illuminate\Http\JsonResponse; use Presentation\Api\V1\Http\Requests\Employees\EmployeesIndexRequest; use Presentation\Api\V1\Http\Responses\Employees\EmployeesIndexResponse; +use Presentation\Api\V1\Presenters\Employees\EmployeesIndexPresenter; use Shared\DDD\Usecase\Builder\UsecaseBuilder; use Shared\DDD\Usecase\Builder\UsecaseExecutor; @@ -24,7 +24,7 @@ final readonly class EmployeesIndexController public function __invoke(EmployeesIndexRequest $request): JsonResponse { - /** @var \Application\Usecase\Employees\FindAll\EmployeesIndexView $response */ + /** @var \Presentation\Api\V1\Presenters\Employees\EmployeesIndexView $response */ $response = UsecaseBuilder::using($this->executor) ->do($this->usecase) ->from($request->toInput()) diff --git a/src/Presentation/Api/V1/Http/Responses/Employees/EmployeeShowResponse.php b/src/Presentation/Api/V1/Http/Responses/Employees/EmployeeShowResponse.php index 64412cb..e5296ec 100644 --- a/src/Presentation/Api/V1/Http/Responses/Employees/EmployeeShowResponse.php +++ b/src/Presentation/Api/V1/Http/Responses/Employees/EmployeeShowResponse.php @@ -4,10 +4,10 @@ declare(strict_types=1); namespace Presentation\Api\V1\Http\Responses\Employees; -use Application\Usecase\Employees\Find\EmployeeShowView; use Illuminate\Http\JsonResponse; use Presentation\Api\V1\Contracts\ApiResponse; use Presentation\Api\V1\Dto\Employees\EmployeeDto; +use Presentation\Api\V1\Presenters\Employees\EmployeeShowView; final readonly class EmployeeShowResponse implements ApiResponse { diff --git a/src/Presentation/Api/V1/Http/Responses/Employees/EmployeesIndexResponse.php b/src/Presentation/Api/V1/Http/Responses/Employees/EmployeesIndexResponse.php index ac7eafa..a530e78 100644 --- a/src/Presentation/Api/V1/Http/Responses/Employees/EmployeesIndexResponse.php +++ b/src/Presentation/Api/V1/Http/Responses/Employees/EmployeesIndexResponse.php @@ -4,12 +4,12 @@ declare(strict_types=1); namespace Presentation\Api\V1\Http\Responses\Employees; -use Application\Usecase\Employees\FindAll\EmployeesIndexView; use Application\Usecase\Employees\FindAll\PaginatedEmployee; use Illuminate\Http\JsonResponse; use League\Uri\Http; use Presentation\Api\V1\Contracts\ApiResponse; use Presentation\Api\V1\Dto\Employees\PaginatedEmployee as PaginatedEmployeeDto; +use Presentation\Api\V1\Presenters\Employees\EmployeesIndexView; final readonly class EmployeesIndexResponse implements ApiResponse { diff --git a/src/Application/Usecase/Employees/Find/EmployeeShowPresenter.php b/src/Presentation/Api/V1/Presenters/Employees/EmployeeShowPresenter.php similarity index 68% rename from src/Application/Usecase/Employees/Find/EmployeeShowPresenter.php rename to src/Presentation/Api/V1/Presenters/Employees/EmployeeShowPresenter.php index 0035a25..cf860e8 100644 --- a/src/Application/Usecase/Employees/Find/EmployeeShowPresenter.php +++ b/src/Presentation/Api/V1/Presenters/Employees/EmployeeShowPresenter.php @@ -2,10 +2,12 @@ declare(strict_types=1); -namespace Application\Usecase\Employees\Find; +namespace Presentation\Api\V1\Presenters\Employees; +use Application\Usecase\Employees\Find\Output; use Shared\DDD\Usecase\Output as UsecaseOutput; use Shared\DDD\Usecase\Presenter; +use Webmozart\Assert\Assert; /** @implements Presenter<\Shared\DDD\Usecase\Output, EmployeeShowView> */ final readonly class EmployeeShowPresenter implements Presenter @@ -13,7 +15,7 @@ final readonly class EmployeeShowPresenter implements Presenter #[\Override] public function present(UsecaseOutput $output): object { - assert($output instanceof Output); + Assert::isInstanceOf($output, Output::class); return EmployeeShowView::fromOutput($output); } diff --git a/src/Application/Usecase/Employees/Find/EmployeeShowView.php b/src/Presentation/Api/V1/Presenters/Employees/EmployeeShowView.php similarity index 91% rename from src/Application/Usecase/Employees/Find/EmployeeShowView.php rename to src/Presentation/Api/V1/Presenters/Employees/EmployeeShowView.php index 0f4f7e0..887f9f2 100644 --- a/src/Application/Usecase/Employees/Find/EmployeeShowView.php +++ b/src/Presentation/Api/V1/Presenters/Employees/EmployeeShowView.php @@ -2,8 +2,9 @@ declare(strict_types=1); -namespace Application\Usecase\Employees\Find; +namespace Presentation\Api\V1\Presenters\Employees; +use Application\Usecase\Employees\Find\Output; use Domain\Models\ValueObjects\Entities\ArcadiaEmployeeId; final readonly class EmployeeShowView diff --git a/src/Application/Usecase/Employees/FindAll/EmployeesIndexPresenter.php b/src/Presentation/Api/V1/Presenters/Employees/EmployeesIndexPresenter.php similarity index 68% rename from src/Application/Usecase/Employees/FindAll/EmployeesIndexPresenter.php rename to src/Presentation/Api/V1/Presenters/Employees/EmployeesIndexPresenter.php index b80061d..1026c14 100644 --- a/src/Application/Usecase/Employees/FindAll/EmployeesIndexPresenter.php +++ b/src/Presentation/Api/V1/Presenters/Employees/EmployeesIndexPresenter.php @@ -2,10 +2,12 @@ declare(strict_types=1); -namespace Application\Usecase\Employees\FindAll; +namespace Presentation\Api\V1\Presenters\Employees; +use Application\Usecase\Employees\FindAll\Output; use Shared\DDD\Usecase\Output as UsecaseOutput; use Shared\DDD\Usecase\Presenter; +use Webmozart\Assert\Assert; /** @implements Presenter<\Shared\DDD\Usecase\Output, EmployeesIndexView> */ final readonly class EmployeesIndexPresenter implements Presenter @@ -13,7 +15,7 @@ final readonly class EmployeesIndexPresenter implements Presenter #[\Override] public function present(UsecaseOutput $output): object { - assert($output instanceof Output); + Assert::isInstanceOf($output, Output::class); return EmployeesIndexView::fromOutput($output); } diff --git a/src/Application/Usecase/Employees/FindAll/EmployeesIndexView.php b/src/Presentation/Api/V1/Presenters/Employees/EmployeesIndexView.php similarity index 70% rename from src/Application/Usecase/Employees/FindAll/EmployeesIndexView.php rename to src/Presentation/Api/V1/Presenters/Employees/EmployeesIndexView.php index c263064..4de6d66 100644 --- a/src/Application/Usecase/Employees/FindAll/EmployeesIndexView.php +++ b/src/Presentation/Api/V1/Presenters/Employees/EmployeesIndexView.php @@ -2,7 +2,11 @@ declare(strict_types=1); -namespace Application\Usecase\Employees\FindAll; +namespace Presentation\Api\V1\Presenters\Employees; + +use Application\Usecase\Employees\FindAll\Output; +use Application\Usecase\Employees\FindAll\PaginatedEmployee; +use Webmozart\Assert\Assert; final readonly class EmployeesIndexView { @@ -16,7 +20,7 @@ final readonly class EmployeesIndexView public int $perPage, ) { foreach ($this->employees as $employee) { - assert($employee instanceof PaginatedEmployee); + Assert::isInstanceOf($employee, PaginatedEmployee::class); } }