From 1fdf7ea9cc359f5cdc4d681e5541fc267a48940d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Munsch?= Date: Mon, 17 Aug 2026 11:18:53 +0200 Subject: [PATCH] refactor(application): move usecases under Application\Arcadia\Usecase and NotFoundException to Application\Shared\Exceptions --- config/ide-helper.php | 2 +- .../Usecase/Employees/Find/FindEmployee.php | 4 +-- .../Usecase/Employees/Find/Input.php | 2 +- .../Usecase/Employees/Find/Output.php | 2 +- .../Employees/FindAll/FindAllEmployees.php | 2 +- .../Usecase/Employees/FindAll/Input.php | 2 +- .../Usecase/Employees/FindAll/Output.php | 2 +- .../Employees/FindAll/PaginatedEmployee.php | 2 +- .../Find/FindIncoComposition.php | 4 +-- .../Usecase/IncoCompositions/Find/Input.php | 2 +- .../Usecase/IncoCompositions/Find/Output.php | 2 +- .../Usecase/IncoSheets/Find/FindIncoSheet.php | 4 +-- .../Usecase/IncoSheets/Find/Input.php | 2 +- .../Usecase/IncoSheets/Find/Output.php | 2 +- .../IncoSheets/FindAll/FindAllIncoSheets.php | 2 +- .../Usecase/IncoSheets/FindAll/Input.php | 2 +- .../Usecase/IncoSheets/FindAll/Output.php | 2 +- .../FindAll}/PaginatedIncoSheet.php | 2 +- .../FindAll}/PaginatedShortIncoSheet.php | 2 +- .../Usecase/IncoSheets/Search/Input.php | 2 +- .../Usecase/IncoSheets/Search/Output.php | 2 +- .../IncoSheets/Search}/PaginatedIncoSheet.php | 2 +- .../Search}/PaginatedShortIncoSheet.php | 2 +- .../IncoSheets/Search/SearchIncoSheets.php | 2 +- .../Exceptions/NotFoundException.php | 2 +- .../V1/Dto/Employees/PaginatedEmployee.php | 2 +- .../V1/Exceptions/ApiExceptionRenderer.php | 2 +- .../Employees/EmployeeShowController.php | 4 +-- .../Employees/EmployeesIndexController.php | 4 +-- .../IncoCompositionShowController.php | 4 +-- .../IncoSheets/IncoSheetsIndexController.php | 4 +-- .../IncoSheets/IncoSheetsSearchController.php | 4 +-- .../IncoSheets/IncoSheetsShowController.php | 4 +-- .../Employees/EmployeesIndexResponse.php | 2 +- .../IncoCompositionShowResponse.php | 2 +- .../IncoSheets/IncoSheetsIndexResponse.php | 4 +-- .../IncoSheets/IncoSheetsSearchResponse.php | 4 +-- .../IncoSheets/IncoSheetsShowResponse.php | 2 +- .../Employees/EmployeeShowPresenter.php | 2 +- .../Presenters/Employees/EmployeeShowView.php | 2 +- .../Employees/EmployeesIndexPresenter.php | 2 +- .../Employees/EmployeesIndexView.php | 4 +-- .../IncoCompositionShowPresenter.php | 2 +- .../IncoCompositionShowView.php | 2 +- .../IncoSheets/IncoSheetsIndexPresenter.php | 2 +- .../IncoSheets/IncoSheetsIndexView.php | 4 +-- .../IncoSheets/IncoSheetsSearchPresenter.php | 2 +- .../IncoSheets/IncoSheetsSearchView.php | 6 ++-- .../IncoSheets/IncoSheetsShowPresenter.php | 2 +- .../IncoSheets/IncoSheetsShowView.php | 2 +- .../Web/Exceptions/WebExceptionRenderer.php | 4 +-- tests/Architecture/ApplicationTest.php | 35 +++++++++++++++++-- tests/Architecture/NamingConventionsTest.php | 2 +- .../Api/ApiExceptionDispatcherTest.php | 2 +- .../Api/V1/ApiExceptionRendererTest.php | 2 +- .../Web/WebExceptionRendererTest.php | 2 +- .../Employees/FindAllEmployeesDtoTest.php | 4 +-- .../Employees/FindAllEmployeesTest.php | 8 ++--- .../Usecase/Employees/FindEmployeeTest.php | 10 +++--- .../FindIncoCompositionTest.php | 10 +++--- .../Incosheets/FindAllIncoSheetsDtoTest.php | 10 +++--- .../Incosheets/FindAllIncoSheetsTest.php | 8 ++--- .../Incosheets/FindIncoSheetDtoTest.php | 6 ++-- .../Usecase/Incosheets/FindIncoSheetTest.php | 10 +++--- 64 files changed, 137 insertions(+), 106 deletions(-) rename src/Application/{ => Arcadia}/Usecase/Employees/Find/FindEmployee.php (91%) rename src/Application/{ => Arcadia}/Usecase/Employees/Find/Input.php (83%) rename src/Application/{ => Arcadia}/Usecase/Employees/Find/Output.php (91%) rename src/Application/{ => Arcadia}/Usecase/Employees/FindAll/FindAllEmployees.php (96%) rename src/Application/{ => Arcadia}/Usecase/Employees/FindAll/Input.php (88%) rename src/Application/{ => Arcadia}/Usecase/Employees/FindAll/Output.php (90%) rename src/Application/{ => Arcadia}/Usecase/Employees/FindAll/PaginatedEmployee.php (94%) rename src/Application/{ => Arcadia}/Usecase/IncoCompositions/Find/FindIncoComposition.php (94%) rename src/Application/{ => Arcadia}/Usecase/IncoCompositions/Find/Input.php (80%) rename src/Application/{ => Arcadia}/Usecase/IncoCompositions/Find/Output.php (96%) rename src/Application/{ => Arcadia}/Usecase/IncoSheets/Find/FindIncoSheet.php (94%) rename src/Application/{ => Arcadia}/Usecase/IncoSheets/Find/Input.php (82%) rename src/Application/{ => Arcadia}/Usecase/IncoSheets/Find/Output.php (96%) rename src/Application/{ => Arcadia}/Usecase/IncoSheets/FindAll/FindAllIncoSheets.php (97%) rename src/Application/{ => Arcadia}/Usecase/IncoSheets/FindAll/Input.php (89%) rename src/Application/{ => Arcadia}/Usecase/IncoSheets/FindAll/Output.php (91%) rename src/Application/{Usecase/IncoSheets/Search => Arcadia/Usecase/IncoSheets/FindAll}/PaginatedIncoSheet.php (97%) rename src/Application/{Usecase/IncoSheets/Search => Arcadia/Usecase/IncoSheets/FindAll}/PaginatedShortIncoSheet.php (93%) rename src/Application/{ => Arcadia}/Usecase/IncoSheets/Search/Input.php (92%) rename src/Application/{ => Arcadia}/Usecase/IncoSheets/Search/Output.php (91%) rename src/Application/{Usecase/IncoSheets/FindAll => Arcadia/Usecase/IncoSheets/Search}/PaginatedIncoSheet.php (97%) rename src/Application/{Usecase/IncoSheets/FindAll => Arcadia/Usecase/IncoSheets/Search}/PaginatedShortIncoSheet.php (93%) rename src/Application/{ => Arcadia}/Usecase/IncoSheets/Search/SearchIncoSheets.php (97%) rename src/Application/{ => Shared}/Exceptions/NotFoundException.php (85%) rename tests/Unit/Application/{ => Arcadia}/Usecase/Employees/FindAllEmployeesDtoTest.php (86%) rename tests/Unit/Application/{ => Arcadia}/Usecase/Employees/FindAllEmployeesTest.php (91%) rename tests/Unit/Application/{ => Arcadia}/Usecase/Employees/FindEmployeeTest.php (89%) rename tests/Unit/Application/{ => Arcadia}/Usecase/IncoCompositions/FindIncoCompositionTest.php (94%) rename tests/Unit/Application/{ => Arcadia}/Usecase/Incosheets/FindAllIncoSheetsDtoTest.php (89%) rename tests/Unit/Application/{ => Arcadia}/Usecase/Incosheets/FindAllIncoSheetsTest.php (92%) rename tests/Unit/Application/{ => Arcadia}/Usecase/Incosheets/FindIncoSheetDtoTest.php (90%) rename tests/Unit/Application/{ => Arcadia}/Usecase/Incosheets/FindIncoSheetTest.php (90%) diff --git a/config/ide-helper.php b/config/ide-helper.php index c820bfa..6782b7d 100644 --- a/config/ide-helper.php +++ b/config/ide-helper.php @@ -146,7 +146,7 @@ return [ */ 'model_locations' => [ - 'src/Presentation', + 'src/Infra/Database/Models', ], /* diff --git a/src/Application/Usecase/Employees/Find/FindEmployee.php b/src/Application/Arcadia/Usecase/Employees/Find/FindEmployee.php similarity index 91% rename from src/Application/Usecase/Employees/Find/FindEmployee.php rename to src/Application/Arcadia/Usecase/Employees/Find/FindEmployee.php index b3bb961..a60cfbe 100644 --- a/src/Application/Usecase/Employees/Find/FindEmployee.php +++ b/src/Application/Arcadia/Usecase/Employees/Find/FindEmployee.php @@ -2,9 +2,9 @@ declare(strict_types=1); -namespace Application\Usecase\Employees\Find; +namespace Application\Arcadia\Usecase\Employees\Find; -use Application\Exceptions\NotFoundException; +use Application\Shared\Exceptions\NotFoundException; use Domain\Ports\Directories\EmployeeDirectory; use Shared\DDD\Usecase\Input as BaseInput; use Shared\DDD\Usecase\Usecase; diff --git a/src/Application/Usecase/Employees/Find/Input.php b/src/Application/Arcadia/Usecase/Employees/Find/Input.php similarity index 83% rename from src/Application/Usecase/Employees/Find/Input.php rename to src/Application/Arcadia/Usecase/Employees/Find/Input.php index e9bb380..eb040db 100644 --- a/src/Application/Usecase/Employees/Find/Input.php +++ b/src/Application/Arcadia/Usecase/Employees/Find/Input.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Application\Usecase\Employees\Find; +namespace Application\Arcadia\Usecase\Employees\Find; use Domain\Models\ValueObjects\Employees\ArcadiaEmployeeId; use Shared\DDD\Usecase\Input as UsecaseInput; diff --git a/src/Application/Usecase/Employees/Find/Output.php b/src/Application/Arcadia/Usecase/Employees/Find/Output.php similarity index 91% rename from src/Application/Usecase/Employees/Find/Output.php rename to src/Application/Arcadia/Usecase/Employees/Find/Output.php index 3b83c81..ae6dfd6 100644 --- a/src/Application/Usecase/Employees/Find/Output.php +++ b/src/Application/Arcadia/Usecase/Employees/Find/Output.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Application\Usecase\Employees\Find; +namespace Application\Arcadia\Usecase\Employees\Find; use Domain\Models\ValueObjects\Employees\ArcadiaEmployeeId; use Shared\DDD\Usecase\Output as UsecaseOutput; diff --git a/src/Application/Usecase/Employees/FindAll/FindAllEmployees.php b/src/Application/Arcadia/Usecase/Employees/FindAll/FindAllEmployees.php similarity index 96% rename from src/Application/Usecase/Employees/FindAll/FindAllEmployees.php rename to src/Application/Arcadia/Usecase/Employees/FindAll/FindAllEmployees.php index c7127b3..8db3e0b 100644 --- a/src/Application/Usecase/Employees/FindAll/FindAllEmployees.php +++ b/src/Application/Arcadia/Usecase/Employees/FindAll/FindAllEmployees.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Application\Usecase\Employees\FindAll; +namespace Application\Arcadia\Usecase\Employees\FindAll; use Domain\Models\Entities\Employee; use Domain\Ports\Directories\EmployeeDirectory; diff --git a/src/Application/Usecase/Employees/FindAll/Input.php b/src/Application/Arcadia/Usecase/Employees/FindAll/Input.php similarity index 88% rename from src/Application/Usecase/Employees/FindAll/Input.php rename to src/Application/Arcadia/Usecase/Employees/FindAll/Input.php index 7387807..0d2339e 100644 --- a/src/Application/Usecase/Employees/FindAll/Input.php +++ b/src/Application/Arcadia/Usecase/Employees/FindAll/Input.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Application\Usecase\Employees\FindAll; +namespace Application\Arcadia\Usecase\Employees\FindAll; use Domain\Models\ValueObjects\Employees\EmployeeFilter; use Domain\Models\ValueObjects\Employees\EmployeeSorter; diff --git a/src/Application/Usecase/Employees/FindAll/Output.php b/src/Application/Arcadia/Usecase/Employees/FindAll/Output.php similarity index 90% rename from src/Application/Usecase/Employees/FindAll/Output.php rename to src/Application/Arcadia/Usecase/Employees/FindAll/Output.php index a569d95..c60a56f 100644 --- a/src/Application/Usecase/Employees/FindAll/Output.php +++ b/src/Application/Arcadia/Usecase/Employees/FindAll/Output.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Application\Usecase\Employees\FindAll; +namespace Application\Arcadia\Usecase\Employees\FindAll; use Shared\DDD\Usecase\Output as UsecaseOutput; use Webmozart\Assert\Assert; diff --git a/src/Application/Usecase/Employees/FindAll/PaginatedEmployee.php b/src/Application/Arcadia/Usecase/Employees/FindAll/PaginatedEmployee.php similarity index 94% rename from src/Application/Usecase/Employees/FindAll/PaginatedEmployee.php rename to src/Application/Arcadia/Usecase/Employees/FindAll/PaginatedEmployee.php index 6134350..e1cb3d6 100644 --- a/src/Application/Usecase/Employees/FindAll/PaginatedEmployee.php +++ b/src/Application/Arcadia/Usecase/Employees/FindAll/PaginatedEmployee.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Application\Usecase\Employees\FindAll; +namespace Application\Arcadia\Usecase\Employees\FindAll; use Domain\Models\Entities\Employee; use Domain\Models\ValueObjects\Employees\ArcadiaEmployeeId; diff --git a/src/Application/Usecase/IncoCompositions/Find/FindIncoComposition.php b/src/Application/Arcadia/Usecase/IncoCompositions/Find/FindIncoComposition.php similarity index 94% rename from src/Application/Usecase/IncoCompositions/Find/FindIncoComposition.php rename to src/Application/Arcadia/Usecase/IncoCompositions/Find/FindIncoComposition.php index 12b640a..0a15f16 100644 --- a/src/Application/Usecase/IncoCompositions/Find/FindIncoComposition.php +++ b/src/Application/Arcadia/Usecase/IncoCompositions/Find/FindIncoComposition.php @@ -2,9 +2,9 @@ declare(strict_types=1); -namespace Application\Usecase\IncoCompositions\Find; +namespace Application\Arcadia\Usecase\IncoCompositions\Find; -use Application\Exceptions\NotFoundException; +use Application\Shared\Exceptions\NotFoundException; use Domain\Ports\Directories\IncoCompositionDirectory; use Shared\DDD\Usecase\Input as BaseInput; use Shared\DDD\Usecase\Usecase; diff --git a/src/Application/Usecase/IncoCompositions/Find/Input.php b/src/Application/Arcadia/Usecase/IncoCompositions/Find/Input.php similarity index 80% rename from src/Application/Usecase/IncoCompositions/Find/Input.php rename to src/Application/Arcadia/Usecase/IncoCompositions/Find/Input.php index 3f21545..bdda1f8 100644 --- a/src/Application/Usecase/IncoCompositions/Find/Input.php +++ b/src/Application/Arcadia/Usecase/IncoCompositions/Find/Input.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Application\Usecase\IncoCompositions\Find; +namespace Application\Arcadia\Usecase\IncoCompositions\Find; use Domain\Models\ValueObjects\Inco\IncoId; use Shared\DDD\Usecase\Input as UsecaseInput; diff --git a/src/Application/Usecase/IncoCompositions/Find/Output.php b/src/Application/Arcadia/Usecase/IncoCompositions/Find/Output.php similarity index 96% rename from src/Application/Usecase/IncoCompositions/Find/Output.php rename to src/Application/Arcadia/Usecase/IncoCompositions/Find/Output.php index 4ba99bd..5f5d9e9 100644 --- a/src/Application/Usecase/IncoCompositions/Find/Output.php +++ b/src/Application/Arcadia/Usecase/IncoCompositions/Find/Output.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Application\Usecase\IncoCompositions\Find; +namespace Application\Arcadia\Usecase\IncoCompositions\Find; use Domain\Models\ValueObjects\Inco\Composition\AminoAcids; use Domain\Models\ValueObjects\Inco\Composition\CarbohydratesDetail; diff --git a/src/Application/Usecase/IncoSheets/Find/FindIncoSheet.php b/src/Application/Arcadia/Usecase/IncoSheets/Find/FindIncoSheet.php similarity index 94% rename from src/Application/Usecase/IncoSheets/Find/FindIncoSheet.php rename to src/Application/Arcadia/Usecase/IncoSheets/Find/FindIncoSheet.php index 355a16e..78f2f0a 100644 --- a/src/Application/Usecase/IncoSheets/Find/FindIncoSheet.php +++ b/src/Application/Arcadia/Usecase/IncoSheets/Find/FindIncoSheet.php @@ -2,9 +2,9 @@ declare(strict_types=1); -namespace Application\Usecase\IncoSheets\Find; +namespace Application\Arcadia\Usecase\IncoSheets\Find; -use Application\Exceptions\NotFoundException; +use Application\Shared\Exceptions\NotFoundException; use Domain\Ports\Directories\IncoSheetDirectory; use Shared\DDD\Usecase\Input as BaseInput; use Shared\DDD\Usecase\Usecase; diff --git a/src/Application/Usecase/IncoSheets/Find/Input.php b/src/Application/Arcadia/Usecase/IncoSheets/Find/Input.php similarity index 82% rename from src/Application/Usecase/IncoSheets/Find/Input.php rename to src/Application/Arcadia/Usecase/IncoSheets/Find/Input.php index 6473b4f..842d285 100644 --- a/src/Application/Usecase/IncoSheets/Find/Input.php +++ b/src/Application/Arcadia/Usecase/IncoSheets/Find/Input.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Application\Usecase\IncoSheets\Find; +namespace Application\Arcadia\Usecase\IncoSheets\Find; use Domain\Models\ValueObjects\Inco\IncoId; use Shared\DDD\Usecase\Input as UsecaseInput; diff --git a/src/Application/Usecase/IncoSheets/Find/Output.php b/src/Application/Arcadia/Usecase/IncoSheets/Find/Output.php similarity index 96% rename from src/Application/Usecase/IncoSheets/Find/Output.php rename to src/Application/Arcadia/Usecase/IncoSheets/Find/Output.php index 84ba89a..9b8f032 100644 --- a/src/Application/Usecase/IncoSheets/Find/Output.php +++ b/src/Application/Arcadia/Usecase/IncoSheets/Find/Output.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Application\Usecase\IncoSheets\Find; +namespace Application\Arcadia\Usecase\IncoSheets\Find; use Domain\Models\ValueObjects\Inco\Allegations; use Domain\Models\ValueObjects\Inco\Brand; diff --git a/src/Application/Usecase/IncoSheets/FindAll/FindAllIncoSheets.php b/src/Application/Arcadia/Usecase/IncoSheets/FindAll/FindAllIncoSheets.php similarity index 97% rename from src/Application/Usecase/IncoSheets/FindAll/FindAllIncoSheets.php rename to src/Application/Arcadia/Usecase/IncoSheets/FindAll/FindAllIncoSheets.php index 9f716cf..d08309e 100644 --- a/src/Application/Usecase/IncoSheets/FindAll/FindAllIncoSheets.php +++ b/src/Application/Arcadia/Usecase/IncoSheets/FindAll/FindAllIncoSheets.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Application\Usecase\IncoSheets\FindAll; +namespace Application\Arcadia\Usecase\IncoSheets\FindAll; use Domain\Models\Entities\Inco\IncoSheet; use Domain\Models\Entities\Inco\IncoShortSheet; diff --git a/src/Application/Usecase/IncoSheets/FindAll/Input.php b/src/Application/Arcadia/Usecase/IncoSheets/FindAll/Input.php similarity index 89% rename from src/Application/Usecase/IncoSheets/FindAll/Input.php rename to src/Application/Arcadia/Usecase/IncoSheets/FindAll/Input.php index 57d0021..74c384c 100644 --- a/src/Application/Usecase/IncoSheets/FindAll/Input.php +++ b/src/Application/Arcadia/Usecase/IncoSheets/FindAll/Input.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Application\Usecase\IncoSheets\FindAll; +namespace Application\Arcadia\Usecase\IncoSheets\FindAll; use Domain\Models\ValueObjects\Inco\IncoSheetFilter; use Domain\Models\ValueObjects\Inco\IncoSheetSorter; diff --git a/src/Application/Usecase/IncoSheets/FindAll/Output.php b/src/Application/Arcadia/Usecase/IncoSheets/FindAll/Output.php similarity index 91% rename from src/Application/Usecase/IncoSheets/FindAll/Output.php rename to src/Application/Arcadia/Usecase/IncoSheets/FindAll/Output.php index da46b54..feaa55b 100644 --- a/src/Application/Usecase/IncoSheets/FindAll/Output.php +++ b/src/Application/Arcadia/Usecase/IncoSheets/FindAll/Output.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Application\Usecase\IncoSheets\FindAll; +namespace Application\Arcadia\Usecase\IncoSheets\FindAll; use Shared\DDD\Usecase\Output as UsecaseOutput; use Webmozart\Assert\Assert; diff --git a/src/Application/Usecase/IncoSheets/Search/PaginatedIncoSheet.php b/src/Application/Arcadia/Usecase/IncoSheets/FindAll/PaginatedIncoSheet.php similarity index 97% rename from src/Application/Usecase/IncoSheets/Search/PaginatedIncoSheet.php rename to src/Application/Arcadia/Usecase/IncoSheets/FindAll/PaginatedIncoSheet.php index 2363b15..0ea5c84 100644 --- a/src/Application/Usecase/IncoSheets/Search/PaginatedIncoSheet.php +++ b/src/Application/Arcadia/Usecase/IncoSheets/FindAll/PaginatedIncoSheet.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Application\Usecase\IncoSheets\Search; +namespace Application\Arcadia\Usecase\IncoSheets\FindAll; use Domain\Models\Entities\Inco\IncoSheet; use Domain\Models\ValueObjects\Inco\Allegations; diff --git a/src/Application/Usecase/IncoSheets/Search/PaginatedShortIncoSheet.php b/src/Application/Arcadia/Usecase/IncoSheets/FindAll/PaginatedShortIncoSheet.php similarity index 93% rename from src/Application/Usecase/IncoSheets/Search/PaginatedShortIncoSheet.php rename to src/Application/Arcadia/Usecase/IncoSheets/FindAll/PaginatedShortIncoSheet.php index 9aa9316..caf5c9f 100644 --- a/src/Application/Usecase/IncoSheets/Search/PaginatedShortIncoSheet.php +++ b/src/Application/Arcadia/Usecase/IncoSheets/FindAll/PaginatedShortIncoSheet.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Application\Usecase\IncoSheets\Search; +namespace Application\Arcadia\Usecase\IncoSheets\FindAll; use Domain\Models\Entities\Inco\IncoShortSheet; use Domain\Models\ValueObjects\Inco\IncoId; diff --git a/src/Application/Usecase/IncoSheets/Search/Input.php b/src/Application/Arcadia/Usecase/IncoSheets/Search/Input.php similarity index 92% rename from src/Application/Usecase/IncoSheets/Search/Input.php rename to src/Application/Arcadia/Usecase/IncoSheets/Search/Input.php index b62e843..fee0728 100644 --- a/src/Application/Usecase/IncoSheets/Search/Input.php +++ b/src/Application/Arcadia/Usecase/IncoSheets/Search/Input.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Application\Usecase\IncoSheets\Search; +namespace Application\Arcadia\Usecase\IncoSheets\Search; use Domain\Models\ValueObjects\Inco\IncoIdQuery; use Shared\DDD\Usecase\Input as UsecaseInput; diff --git a/src/Application/Usecase/IncoSheets/Search/Output.php b/src/Application/Arcadia/Usecase/IncoSheets/Search/Output.php similarity index 91% rename from src/Application/Usecase/IncoSheets/Search/Output.php rename to src/Application/Arcadia/Usecase/IncoSheets/Search/Output.php index cfae3bd..cb8a98a 100644 --- a/src/Application/Usecase/IncoSheets/Search/Output.php +++ b/src/Application/Arcadia/Usecase/IncoSheets/Search/Output.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Application\Usecase\IncoSheets\Search; +namespace Application\Arcadia\Usecase\IncoSheets\Search; use Shared\DDD\Usecase\Output as UsecaseOutput; use Webmozart\Assert\Assert; diff --git a/src/Application/Usecase/IncoSheets/FindAll/PaginatedIncoSheet.php b/src/Application/Arcadia/Usecase/IncoSheets/Search/PaginatedIncoSheet.php similarity index 97% rename from src/Application/Usecase/IncoSheets/FindAll/PaginatedIncoSheet.php rename to src/Application/Arcadia/Usecase/IncoSheets/Search/PaginatedIncoSheet.php index e079953..f35a877 100644 --- a/src/Application/Usecase/IncoSheets/FindAll/PaginatedIncoSheet.php +++ b/src/Application/Arcadia/Usecase/IncoSheets/Search/PaginatedIncoSheet.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Application\Usecase\IncoSheets\FindAll; +namespace Application\Arcadia\Usecase\IncoSheets\Search; use Domain\Models\Entities\Inco\IncoSheet; use Domain\Models\ValueObjects\Inco\Allegations; diff --git a/src/Application/Usecase/IncoSheets/FindAll/PaginatedShortIncoSheet.php b/src/Application/Arcadia/Usecase/IncoSheets/Search/PaginatedShortIncoSheet.php similarity index 93% rename from src/Application/Usecase/IncoSheets/FindAll/PaginatedShortIncoSheet.php rename to src/Application/Arcadia/Usecase/IncoSheets/Search/PaginatedShortIncoSheet.php index c9121b9..8a7d597 100644 --- a/src/Application/Usecase/IncoSheets/FindAll/PaginatedShortIncoSheet.php +++ b/src/Application/Arcadia/Usecase/IncoSheets/Search/PaginatedShortIncoSheet.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Application\Usecase\IncoSheets\FindAll; +namespace Application\Arcadia\Usecase\IncoSheets\Search; use Domain\Models\Entities\Inco\IncoShortSheet; use Domain\Models\ValueObjects\Inco\IncoId; diff --git a/src/Application/Usecase/IncoSheets/Search/SearchIncoSheets.php b/src/Application/Arcadia/Usecase/IncoSheets/Search/SearchIncoSheets.php similarity index 97% rename from src/Application/Usecase/IncoSheets/Search/SearchIncoSheets.php rename to src/Application/Arcadia/Usecase/IncoSheets/Search/SearchIncoSheets.php index e35579c..f703703 100644 --- a/src/Application/Usecase/IncoSheets/Search/SearchIncoSheets.php +++ b/src/Application/Arcadia/Usecase/IncoSheets/Search/SearchIncoSheets.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Application\Usecase\IncoSheets\Search; +namespace Application\Arcadia\Usecase\IncoSheets\Search; use Domain\Models\Entities\Inco\IncoSheet; use Domain\Models\Entities\Inco\IncoShortSheet; diff --git a/src/Application/Exceptions/NotFoundException.php b/src/Application/Shared/Exceptions/NotFoundException.php similarity index 85% rename from src/Application/Exceptions/NotFoundException.php rename to src/Application/Shared/Exceptions/NotFoundException.php index d568502..62d0436 100644 --- a/src/Application/Exceptions/NotFoundException.php +++ b/src/Application/Shared/Exceptions/NotFoundException.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Application\Exceptions; +namespace Application\Shared\Exceptions; final class NotFoundException extends \RuntimeException { diff --git a/src/Presentation/Api/V1/Dto/Employees/PaginatedEmployee.php b/src/Presentation/Api/V1/Dto/Employees/PaginatedEmployee.php index fce4c9e..0778350 100644 --- a/src/Presentation/Api/V1/Dto/Employees/PaginatedEmployee.php +++ b/src/Presentation/Api/V1/Dto/Employees/PaginatedEmployee.php @@ -4,7 +4,7 @@ declare(strict_types=1); namespace Presentation\Api\V1\Dto\Employees; -use Application\Usecase\Employees\FindAll\PaginatedEmployee as UsecasePaginatedEmployee; +use Application\Arcadia\Usecase\Employees\FindAll\PaginatedEmployee as UsecasePaginatedEmployee; use Presentation\Api\V1\Contracts\ApiResponseDto; final readonly class PaginatedEmployee implements ApiResponseDto diff --git a/src/Presentation/Api/V1/Exceptions/ApiExceptionRenderer.php b/src/Presentation/Api/V1/Exceptions/ApiExceptionRenderer.php index cdab0ac..cfe6fa9 100644 --- a/src/Presentation/Api/V1/Exceptions/ApiExceptionRenderer.php +++ b/src/Presentation/Api/V1/Exceptions/ApiExceptionRenderer.php @@ -4,7 +4,7 @@ declare(strict_types=1); namespace Presentation\Api\V1\Exceptions; -use Application\Exceptions\NotFoundException; +use Application\Shared\Exceptions\NotFoundException; use Illuminate\Http\Exceptions\ThrottleRequestsException; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; diff --git a/src/Presentation/Api/V1/Http/Controllers/Employees/EmployeeShowController.php b/src/Presentation/Api/V1/Http/Controllers/Employees/EmployeeShowController.php index 03074bb..af6e41b 100644 --- a/src/Presentation/Api/V1/Http/Controllers/Employees/EmployeeShowController.php +++ b/src/Presentation/Api/V1/Http/Controllers/Employees/EmployeeShowController.php @@ -4,8 +4,8 @@ declare(strict_types=1); namespace Presentation\Api\V1\Http\Controllers\Employees; -use Application\Usecase\Employees\Find\FindEmployee; -use Application\Usecase\Employees\Find\Input; +use Application\Arcadia\Usecase\Employees\Find\FindEmployee; +use Application\Arcadia\Usecase\Employees\Find\Input; use Presentation\Api\V1\Contracts\ApiResponse; use Presentation\Api\V1\Http\Requests\Employees\EmployeeShowRequest; use Presentation\Api\V1\Http\Responses\Employees\EmployeeShowResponse; diff --git a/src/Presentation/Api/V1/Http/Controllers/Employees/EmployeesIndexController.php b/src/Presentation/Api/V1/Http/Controllers/Employees/EmployeesIndexController.php index 4b84c0e..bff70c3 100644 --- a/src/Presentation/Api/V1/Http/Controllers/Employees/EmployeesIndexController.php +++ b/src/Presentation/Api/V1/Http/Controllers/Employees/EmployeesIndexController.php @@ -4,8 +4,8 @@ declare(strict_types=1); namespace Presentation\Api\V1\Http\Controllers\Employees; -use Application\Usecase\Employees\FindAll\FindAllEmployees; -use Application\Usecase\Employees\FindAll\Input; +use Application\Arcadia\Usecase\Employees\FindAll\FindAllEmployees; +use Application\Arcadia\Usecase\Employees\FindAll\Input; use Presentation\Api\V1\Contracts\ApiResponse; use Presentation\Api\V1\Http\Requests\Employees\EmployeesIndexRequest; use Presentation\Api\V1\Http\Responses\Employees\EmployeesIndexResponse; diff --git a/src/Presentation/Api/V1/Http/Controllers/IncoCompositions/IncoCompositionShowController.php b/src/Presentation/Api/V1/Http/Controllers/IncoCompositions/IncoCompositionShowController.php index 2397812..f8670e3 100644 --- a/src/Presentation/Api/V1/Http/Controllers/IncoCompositions/IncoCompositionShowController.php +++ b/src/Presentation/Api/V1/Http/Controllers/IncoCompositions/IncoCompositionShowController.php @@ -4,8 +4,8 @@ declare(strict_types=1); namespace Presentation\Api\V1\Http\Controllers\IncoCompositions; -use Application\Usecase\IncoCompositions\Find\FindIncoComposition; -use Application\Usecase\IncoCompositions\Find\Input; +use Application\Arcadia\Usecase\IncoCompositions\Find\FindIncoComposition; +use Application\Arcadia\Usecase\IncoCompositions\Find\Input; use Presentation\Api\V1\Contracts\ApiResponse; use Presentation\Api\V1\Http\Requests\IncoCompositions\IncoCompositionShowRequest; use Presentation\Api\V1\Http\Responses\IncoCompositions\IncoCompositionShowResponse; diff --git a/src/Presentation/Api/V1/Http/Controllers/IncoSheets/IncoSheetsIndexController.php b/src/Presentation/Api/V1/Http/Controllers/IncoSheets/IncoSheetsIndexController.php index 81b97ed..e722689 100644 --- a/src/Presentation/Api/V1/Http/Controllers/IncoSheets/IncoSheetsIndexController.php +++ b/src/Presentation/Api/V1/Http/Controllers/IncoSheets/IncoSheetsIndexController.php @@ -4,8 +4,8 @@ declare(strict_types=1); namespace Presentation\Api\V1\Http\Controllers\IncoSheets; -use Application\Usecase\IncoSheets\FindAll\FindAllIncoSheets; -use Application\Usecase\IncoSheets\FindAll\Input; +use Application\Arcadia\Usecase\IncoSheets\FindAll\FindAllIncoSheets; +use Application\Arcadia\Usecase\IncoSheets\FindAll\Input; use Presentation\Api\V1\Contracts\ApiResponse; use Presentation\Api\V1\Http\Requests\IncoSheets\IncoSheetsIndexRequest; use Presentation\Api\V1\Http\Responses\IncoSheets\IncoSheetsIndexResponse; diff --git a/src/Presentation/Api/V1/Http/Controllers/IncoSheets/IncoSheetsSearchController.php b/src/Presentation/Api/V1/Http/Controllers/IncoSheets/IncoSheetsSearchController.php index d2fda71..6108c0c 100644 --- a/src/Presentation/Api/V1/Http/Controllers/IncoSheets/IncoSheetsSearchController.php +++ b/src/Presentation/Api/V1/Http/Controllers/IncoSheets/IncoSheetsSearchController.php @@ -4,8 +4,8 @@ declare(strict_types=1); namespace Presentation\Api\V1\Http\Controllers\IncoSheets; -use Application\Usecase\IncoSheets\Search\Input as SearchInput; -use Application\Usecase\IncoSheets\Search\SearchIncoSheets; +use Application\Arcadia\Usecase\IncoSheets\Search\Input as SearchInput; +use Application\Arcadia\Usecase\IncoSheets\Search\SearchIncoSheets; use Presentation\Api\V1\Contracts\ApiResponse; use Presentation\Api\V1\Http\Requests\IncoSheets\IncoSheetsSearchRequest; use Presentation\Api\V1\Http\Responses\IncoSheets\IncoSheetsSearchResponse; diff --git a/src/Presentation/Api/V1/Http/Controllers/IncoSheets/IncoSheetsShowController.php b/src/Presentation/Api/V1/Http/Controllers/IncoSheets/IncoSheetsShowController.php index 3ab866d..4a664ed 100644 --- a/src/Presentation/Api/V1/Http/Controllers/IncoSheets/IncoSheetsShowController.php +++ b/src/Presentation/Api/V1/Http/Controllers/IncoSheets/IncoSheetsShowController.php @@ -4,8 +4,8 @@ declare(strict_types=1); namespace Presentation\Api\V1\Http\Controllers\IncoSheets; -use Application\Usecase\IncoSheets\Find\FindIncoSheet; -use Application\Usecase\IncoSheets\Find\Input; +use Application\Arcadia\Usecase\IncoSheets\Find\FindIncoSheet; +use Application\Arcadia\Usecase\IncoSheets\Find\Input; use Presentation\Api\V1\Contracts\ApiResponse; use Presentation\Api\V1\Http\Requests\IncoSheets\IncoSheetsShowRequest; use Presentation\Api\V1\Http\Responses\IncoSheets\IncoSheetsShowResponse; diff --git a/src/Presentation/Api/V1/Http/Responses/Employees/EmployeesIndexResponse.php b/src/Presentation/Api/V1/Http/Responses/Employees/EmployeesIndexResponse.php index 218c624..82e08ae 100644 --- a/src/Presentation/Api/V1/Http/Responses/Employees/EmployeesIndexResponse.php +++ b/src/Presentation/Api/V1/Http/Responses/Employees/EmployeesIndexResponse.php @@ -4,7 +4,7 @@ declare(strict_types=1); namespace Presentation\Api\V1\Http\Responses\Employees; -use Application\Usecase\Employees\FindAll\PaginatedEmployee; +use Application\Arcadia\Usecase\Employees\FindAll\PaginatedEmployee; use Illuminate\Http\JsonResponse; use Presentation\Api\V1\Contracts\ApiResponse; use Presentation\Api\V1\Dto\Employees\PaginatedEmployee as PaginatedEmployeeDto; diff --git a/src/Presentation/Api/V1/Http/Responses/IncoCompositions/IncoCompositionShowResponse.php b/src/Presentation/Api/V1/Http/Responses/IncoCompositions/IncoCompositionShowResponse.php index 96454ac..51dfc69 100644 --- a/src/Presentation/Api/V1/Http/Responses/IncoCompositions/IncoCompositionShowResponse.php +++ b/src/Presentation/Api/V1/Http/Responses/IncoCompositions/IncoCompositionShowResponse.php @@ -4,7 +4,7 @@ declare(strict_types=1); namespace Presentation\Api\V1\Http\Responses\IncoCompositions; -use Application\Usecase\IncoCompositions\Find\Output; +use Application\Arcadia\Usecase\IncoCompositions\Find\Output; use Illuminate\Http\JsonResponse; use Presentation\Api\V1\Contracts\ApiResponse; use Presentation\Api\V1\Dto\IncoCompositions\IncoCompositionDto; diff --git a/src/Presentation/Api/V1/Http/Responses/IncoSheets/IncoSheetsIndexResponse.php b/src/Presentation/Api/V1/Http/Responses/IncoSheets/IncoSheetsIndexResponse.php index 7f4f9d6..a6972a3 100644 --- a/src/Presentation/Api/V1/Http/Responses/IncoSheets/IncoSheetsIndexResponse.php +++ b/src/Presentation/Api/V1/Http/Responses/IncoSheets/IncoSheetsIndexResponse.php @@ -4,8 +4,8 @@ declare(strict_types=1); namespace Presentation\Api\V1\Http\Responses\IncoSheets; -use Application\Usecase\IncoSheets\FindAll\PaginatedIncoSheet; -use Application\Usecase\IncoSheets\FindAll\PaginatedShortIncoSheet; +use Application\Arcadia\Usecase\IncoSheets\FindAll\PaginatedIncoSheet; +use Application\Arcadia\Usecase\IncoSheets\FindAll\PaginatedShortIncoSheet; use Domain\Models\ValueObjects\Inco\Additive; use Domain\Models\ValueObjects\Inco\Allergen; use Illuminate\Http\JsonResponse; diff --git a/src/Presentation/Api/V1/Http/Responses/IncoSheets/IncoSheetsSearchResponse.php b/src/Presentation/Api/V1/Http/Responses/IncoSheets/IncoSheetsSearchResponse.php index 49650eb..40c8dd0 100644 --- a/src/Presentation/Api/V1/Http/Responses/IncoSheets/IncoSheetsSearchResponse.php +++ b/src/Presentation/Api/V1/Http/Responses/IncoSheets/IncoSheetsSearchResponse.php @@ -4,8 +4,8 @@ declare(strict_types=1); namespace Presentation\Api\V1\Http\Responses\IncoSheets; -use Application\Usecase\IncoSheets\Search\PaginatedIncoSheet; -use Application\Usecase\IncoSheets\Search\PaginatedShortIncoSheet; +use Application\Arcadia\Usecase\IncoSheets\Search\PaginatedIncoSheet; +use Application\Arcadia\Usecase\IncoSheets\Search\PaginatedShortIncoSheet; use Domain\Models\ValueObjects\Inco\Additive; use Domain\Models\ValueObjects\Inco\Allergen; use Illuminate\Http\JsonResponse; diff --git a/src/Presentation/Api/V1/Http/Responses/IncoSheets/IncoSheetsShowResponse.php b/src/Presentation/Api/V1/Http/Responses/IncoSheets/IncoSheetsShowResponse.php index cbf5b5a..b073973 100644 --- a/src/Presentation/Api/V1/Http/Responses/IncoSheets/IncoSheetsShowResponse.php +++ b/src/Presentation/Api/V1/Http/Responses/IncoSheets/IncoSheetsShowResponse.php @@ -4,7 +4,7 @@ declare(strict_types=1); namespace Presentation\Api\V1\Http\Responses\IncoSheets; -use Application\Usecase\IncoSheets\Find\Output as FindOutput; +use Application\Arcadia\Usecase\IncoSheets\Find\Output as FindOutput; use Domain\Models\ValueObjects\Inco\Additive; use Domain\Models\ValueObjects\Inco\Allergen; use Illuminate\Http\JsonResponse; diff --git a/src/Presentation/Api/V1/Presenters/Employees/EmployeeShowPresenter.php b/src/Presentation/Api/V1/Presenters/Employees/EmployeeShowPresenter.php index cf860e8..31d90b6 100644 --- a/src/Presentation/Api/V1/Presenters/Employees/EmployeeShowPresenter.php +++ b/src/Presentation/Api/V1/Presenters/Employees/EmployeeShowPresenter.php @@ -4,7 +4,7 @@ declare(strict_types=1); namespace Presentation\Api\V1\Presenters\Employees; -use Application\Usecase\Employees\Find\Output; +use Application\Arcadia\Usecase\Employees\Find\Output; use Shared\DDD\Usecase\Output as UsecaseOutput; use Shared\DDD\Usecase\Presenter; use Webmozart\Assert\Assert; diff --git a/src/Presentation/Api/V1/Presenters/Employees/EmployeeShowView.php b/src/Presentation/Api/V1/Presenters/Employees/EmployeeShowView.php index 99971fa..fc1c5ab 100644 --- a/src/Presentation/Api/V1/Presenters/Employees/EmployeeShowView.php +++ b/src/Presentation/Api/V1/Presenters/Employees/EmployeeShowView.php @@ -4,7 +4,7 @@ declare(strict_types=1); namespace Presentation\Api\V1\Presenters\Employees; -use Application\Usecase\Employees\Find\Output; +use Application\Arcadia\Usecase\Employees\Find\Output; use Domain\Models\ValueObjects\Employees\ArcadiaEmployeeId; final readonly class EmployeeShowView diff --git a/src/Presentation/Api/V1/Presenters/Employees/EmployeesIndexPresenter.php b/src/Presentation/Api/V1/Presenters/Employees/EmployeesIndexPresenter.php index 1026c14..b1f997d 100644 --- a/src/Presentation/Api/V1/Presenters/Employees/EmployeesIndexPresenter.php +++ b/src/Presentation/Api/V1/Presenters/Employees/EmployeesIndexPresenter.php @@ -4,7 +4,7 @@ declare(strict_types=1); namespace Presentation\Api\V1\Presenters\Employees; -use Application\Usecase\Employees\FindAll\Output; +use Application\Arcadia\Usecase\Employees\FindAll\Output; use Shared\DDD\Usecase\Output as UsecaseOutput; use Shared\DDD\Usecase\Presenter; use Webmozart\Assert\Assert; diff --git a/src/Presentation/Api/V1/Presenters/Employees/EmployeesIndexView.php b/src/Presentation/Api/V1/Presenters/Employees/EmployeesIndexView.php index 4de6d66..3f8c4fe 100644 --- a/src/Presentation/Api/V1/Presenters/Employees/EmployeesIndexView.php +++ b/src/Presentation/Api/V1/Presenters/Employees/EmployeesIndexView.php @@ -4,8 +4,8 @@ declare(strict_types=1); namespace Presentation\Api\V1\Presenters\Employees; -use Application\Usecase\Employees\FindAll\Output; -use Application\Usecase\Employees\FindAll\PaginatedEmployee; +use Application\Arcadia\Usecase\Employees\FindAll\Output; +use Application\Arcadia\Usecase\Employees\FindAll\PaginatedEmployee; use Webmozart\Assert\Assert; final readonly class EmployeesIndexView diff --git a/src/Presentation/Api/V1/Presenters/IncoCompositions/IncoCompositionShowPresenter.php b/src/Presentation/Api/V1/Presenters/IncoCompositions/IncoCompositionShowPresenter.php index 14fded3..53aad0f 100644 --- a/src/Presentation/Api/V1/Presenters/IncoCompositions/IncoCompositionShowPresenter.php +++ b/src/Presentation/Api/V1/Presenters/IncoCompositions/IncoCompositionShowPresenter.php @@ -4,7 +4,7 @@ declare(strict_types=1); namespace Presentation\Api\V1\Presenters\IncoCompositions; -use Application\Usecase\IncoCompositions\Find\Output; +use Application\Arcadia\Usecase\IncoCompositions\Find\Output; use Shared\DDD\Usecase\Output as UsecaseOutput; use Shared\DDD\Usecase\Presenter; use Webmozart\Assert\Assert; diff --git a/src/Presentation/Api/V1/Presenters/IncoCompositions/IncoCompositionShowView.php b/src/Presentation/Api/V1/Presenters/IncoCompositions/IncoCompositionShowView.php index 338233f..b42607e 100644 --- a/src/Presentation/Api/V1/Presenters/IncoCompositions/IncoCompositionShowView.php +++ b/src/Presentation/Api/V1/Presenters/IncoCompositions/IncoCompositionShowView.php @@ -4,7 +4,7 @@ declare(strict_types=1); namespace Presentation\Api\V1\Presenters\IncoCompositions; -use Application\Usecase\IncoCompositions\Find\Output; +use Application\Arcadia\Usecase\IncoCompositions\Find\Output; final readonly class IncoCompositionShowView { diff --git a/src/Presentation/Api/V1/Presenters/IncoSheets/IncoSheetsIndexPresenter.php b/src/Presentation/Api/V1/Presenters/IncoSheets/IncoSheetsIndexPresenter.php index 7640c40..ce13355 100644 --- a/src/Presentation/Api/V1/Presenters/IncoSheets/IncoSheetsIndexPresenter.php +++ b/src/Presentation/Api/V1/Presenters/IncoSheets/IncoSheetsIndexPresenter.php @@ -4,7 +4,7 @@ declare(strict_types=1); namespace Presentation\Api\V1\Presenters\IncoSheets; -use Application\Usecase\IncoSheets\FindAll\Output; +use Application\Arcadia\Usecase\IncoSheets\FindAll\Output; use Shared\DDD\Usecase\Output as UsecaseOutput; use Shared\DDD\Usecase\Presenter; use Webmozart\Assert\Assert; diff --git a/src/Presentation/Api/V1/Presenters/IncoSheets/IncoSheetsIndexView.php b/src/Presentation/Api/V1/Presenters/IncoSheets/IncoSheetsIndexView.php index 4bd3581..3b948ca 100644 --- a/src/Presentation/Api/V1/Presenters/IncoSheets/IncoSheetsIndexView.php +++ b/src/Presentation/Api/V1/Presenters/IncoSheets/IncoSheetsIndexView.php @@ -4,14 +4,14 @@ declare(strict_types=1); namespace Presentation\Api\V1\Presenters\IncoSheets; -use Application\Usecase\IncoSheets\FindAll\Output; +use Application\Arcadia\Usecase\IncoSheets\FindAll\Output; final readonly class IncoSheetsIndexView { /** * phpcs:disable Generic.Files.LineLength.TooLong * - * @param (\Application\Usecase\IncoSheets\FindAll\PaginatedIncoSheet|\Application\Usecase\IncoSheets\FindAll\PaginatedShortIncoSheet)[] $incoSheets + * @param (\Application\Arcadia\Usecase\IncoSheets\FindAll\PaginatedIncoSheet|\Application\Arcadia\Usecase\IncoSheets\FindAll\PaginatedShortIncoSheet)[] $incoSheets */ public function __construct( public array $incoSheets, diff --git a/src/Presentation/Api/V1/Presenters/IncoSheets/IncoSheetsSearchPresenter.php b/src/Presentation/Api/V1/Presenters/IncoSheets/IncoSheetsSearchPresenter.php index cbeecb7..b2b58ad 100644 --- a/src/Presentation/Api/V1/Presenters/IncoSheets/IncoSheetsSearchPresenter.php +++ b/src/Presentation/Api/V1/Presenters/IncoSheets/IncoSheetsSearchPresenter.php @@ -4,7 +4,7 @@ declare(strict_types=1); namespace Presentation\Api\V1\Presenters\IncoSheets; -use Application\Usecase\IncoSheets\Search\Output; +use Application\Arcadia\Usecase\IncoSheets\Search\Output; use Shared\DDD\Usecase\Output as UsecaseOutput; use Shared\DDD\Usecase\Presenter; use Webmozart\Assert\Assert; diff --git a/src/Presentation/Api/V1/Presenters/IncoSheets/IncoSheetsSearchView.php b/src/Presentation/Api/V1/Presenters/IncoSheets/IncoSheetsSearchView.php index 89e8983..b0d6d53 100644 --- a/src/Presentation/Api/V1/Presenters/IncoSheets/IncoSheetsSearchView.php +++ b/src/Presentation/Api/V1/Presenters/IncoSheets/IncoSheetsSearchView.php @@ -4,14 +4,14 @@ declare(strict_types=1); namespace Presentation\Api\V1\Presenters\IncoSheets; -use Application\Usecase\IncoSheets\Search\Output; +use Application\Arcadia\Usecase\IncoSheets\Search\Output; final readonly class IncoSheetsSearchView { /** * @param array< - * \Application\Usecase\IncoSheets\Search\PaginatedIncoSheet - * |\Application\Usecase\IncoSheets\Search\PaginatedShortIncoSheet + * \Application\Arcadia\Usecase\IncoSheets\Search\PaginatedIncoSheet + * |\Application\Arcadia\Usecase\IncoSheets\Search\PaginatedShortIncoSheet * > $incoSheets */ public function __construct( diff --git a/src/Presentation/Api/V1/Presenters/IncoSheets/IncoSheetsShowPresenter.php b/src/Presentation/Api/V1/Presenters/IncoSheets/IncoSheetsShowPresenter.php index 2477e3b..e120888 100644 --- a/src/Presentation/Api/V1/Presenters/IncoSheets/IncoSheetsShowPresenter.php +++ b/src/Presentation/Api/V1/Presenters/IncoSheets/IncoSheetsShowPresenter.php @@ -4,7 +4,7 @@ declare(strict_types=1); namespace Presentation\Api\V1\Presenters\IncoSheets; -use Application\Usecase\IncoSheets\Find\Output; +use Application\Arcadia\Usecase\IncoSheets\Find\Output; use Shared\DDD\Usecase\Output as UsecaseOutput; use Shared\DDD\Usecase\Presenter; use Webmozart\Assert\Assert; diff --git a/src/Presentation/Api/V1/Presenters/IncoSheets/IncoSheetsShowView.php b/src/Presentation/Api/V1/Presenters/IncoSheets/IncoSheetsShowView.php index 136ed4e..02347ee 100644 --- a/src/Presentation/Api/V1/Presenters/IncoSheets/IncoSheetsShowView.php +++ b/src/Presentation/Api/V1/Presenters/IncoSheets/IncoSheetsShowView.php @@ -4,7 +4,7 @@ declare(strict_types=1); namespace Presentation\Api\V1\Presenters\IncoSheets; -use Application\Usecase\IncoSheets\Find\Output; +use Application\Arcadia\Usecase\IncoSheets\Find\Output; final readonly class IncoSheetsShowView { diff --git a/src/Presentation/Web/Exceptions/WebExceptionRenderer.php b/src/Presentation/Web/Exceptions/WebExceptionRenderer.php index 6215c03..4706613 100644 --- a/src/Presentation/Web/Exceptions/WebExceptionRenderer.php +++ b/src/Presentation/Web/Exceptions/WebExceptionRenderer.php @@ -4,9 +4,9 @@ declare(strict_types=1); namespace Presentation\Web\Exceptions; -use Application\Exceptions\NotFoundException; +use Application\Shared\Exceptions\NotFoundException; use Illuminate\Http\Request; -use Symfony\Component\HttpFoundation\Response; +use Illuminate\Http\Response; use Throwable; final readonly class WebExceptionRenderer diff --git a/tests/Architecture/ApplicationTest.php b/tests/Architecture/ApplicationTest.php index c156afe..ca9645b 100644 --- a/tests/Architecture/ApplicationTest.php +++ b/tests/Architecture/ApplicationTest.php @@ -23,6 +23,30 @@ function enumsIn(string $namespace): array return $enums; } +/** @return array */ +function valueObjectsIn(string $baseNamespace): array +{ + $dir = dirname(__DIR__, 2) . '/src/' . str_replace('\\', '/', $baseNamespace); + $namespaces = []; + if (! is_dir($dir)) { + return $namespaces; + } + + $iterator = new \RecursiveIteratorIterator( + new \RecursiveDirectoryIterator($dir, \RecursiveDirectoryIterator::SKIP_DOTS), + \RecursiveIteratorIterator::SELF_FIRST + ); + + foreach ($iterator as $item) { + if ($item->isDir() && $item->getBasename() === 'ValueObjects') { + $relativePath = str_replace([$dir, '/'], ['', '\\'], $item->getPathname()); + $namespaces[] = $baseNamespace . $relativePath; + } + } + + return $namespaces; +} + describe('Application Architecture Rules', function (): void { arch('Application layer does not depend on Presentation, Infra, or App') ->expect('Application') @@ -81,11 +105,11 @@ describe('Application Architecture Rules', function (): void { ->toUseStrictTypes(); arch('Application Usecase classes are final and readonly') - ->expect('Application\Usecase') + ->expect('Application\Arcadia\Usecase') ->classes() ->toBeReadonly() ->toBeFinal() - ->ignoring(enumsIn('Application\Usecase')); + ->ignoring(enumsIn('Application\Arcadia\Usecase')); arch('Application layer must not contain Presenters') ->expect('Application') @@ -96,4 +120,11 @@ describe('Application Architecture Rules', function (): void { ->expect('Application') ->classes() ->not->toHaveSuffix('View'); + + arch('Application Value Objects are final and readonly') + ->expect(valueObjectsIn('Application')) + ->classes() + ->toBeReadonly() + ->toBeFinal() + ->ignoring(enumsIn('Application')); }); diff --git a/tests/Architecture/NamingConventionsTest.php b/tests/Architecture/NamingConventionsTest.php index b25d74e..ffed59a 100644 --- a/tests/Architecture/NamingConventionsTest.php +++ b/tests/Architecture/NamingConventionsTest.php @@ -20,7 +20,7 @@ describe('Naming Conventions in Domain', function (): void { describe('Naming Conventions in Application', function (): void { arch('Application usecases use strict types') - ->expect('Application\Usecase') + ->expect('Application\Arcadia\Usecase') ->toUseStrictTypes(); }); diff --git a/tests/Integration/Presentation/Api/ApiExceptionDispatcherTest.php b/tests/Integration/Presentation/Api/ApiExceptionDispatcherTest.php index 6e197f5..199837c 100644 --- a/tests/Integration/Presentation/Api/ApiExceptionDispatcherTest.php +++ b/tests/Integration/Presentation/Api/ApiExceptionDispatcherTest.php @@ -4,7 +4,7 @@ declare(strict_types=1); namespace Tests\Integration\Presentation\Api; -use Application\Exceptions\NotFoundException; +use Application\Shared\Exceptions\NotFoundException; use Illuminate\Http\Request; use Presentation\Api\Exceptions\ApiExceptionDispatcher; use Presentation\Api\V1\Exceptions\ApiExceptionRenderer as V1ApiExceptionRenderer; diff --git a/tests/Integration/Presentation/Api/V1/ApiExceptionRendererTest.php b/tests/Integration/Presentation/Api/V1/ApiExceptionRendererTest.php index 75f8bcf..878116f 100644 --- a/tests/Integration/Presentation/Api/V1/ApiExceptionRendererTest.php +++ b/tests/Integration/Presentation/Api/V1/ApiExceptionRendererTest.php @@ -4,7 +4,7 @@ declare(strict_types=1); namespace Tests\Integration\Presentation\Api\V1; -use Application\Exceptions\NotFoundException; +use Application\Shared\Exceptions\NotFoundException; use Illuminate\Http\Exceptions\ThrottleRequestsException; use Illuminate\Http\Request; use Illuminate\Support\Facades\Config; diff --git a/tests/Integration/Presentation/Web/WebExceptionRendererTest.php b/tests/Integration/Presentation/Web/WebExceptionRendererTest.php index e912c7b..d857538 100644 --- a/tests/Integration/Presentation/Web/WebExceptionRendererTest.php +++ b/tests/Integration/Presentation/Web/WebExceptionRendererTest.php @@ -4,7 +4,7 @@ declare(strict_types=1); namespace Tests\Integration\Presentation\Web; -use Application\Exceptions\NotFoundException; +use Application\Shared\Exceptions\NotFoundException; use Illuminate\Http\Request; use Presentation\Web\Exceptions\WebExceptionRenderer; diff --git a/tests/Unit/Application/Usecase/Employees/FindAllEmployeesDtoTest.php b/tests/Unit/Application/Arcadia/Usecase/Employees/FindAllEmployeesDtoTest.php similarity index 86% rename from tests/Unit/Application/Usecase/Employees/FindAllEmployeesDtoTest.php rename to tests/Unit/Application/Arcadia/Usecase/Employees/FindAllEmployeesDtoTest.php index 56245c3..7f4bd4f 100644 --- a/tests/Unit/Application/Usecase/Employees/FindAllEmployeesDtoTest.php +++ b/tests/Unit/Application/Arcadia/Usecase/Employees/FindAllEmployeesDtoTest.php @@ -2,9 +2,9 @@ declare(strict_types=1); -namespace Tests\Unit\Application\Usecase\Employees; +namespace Tests\Unit\Application\Arcadia\Usecase\Employees; -use Application\Usecase\Employees\FindAll\Input; +use Application\Arcadia\Usecase\Employees\FindAll\Input; use Domain\Models\ValueObjects\Employees\EmployeeSortColumn; use Domain\Models\ValueObjects\Employees\EmployeeSorter; use Shared\Pagination; diff --git a/tests/Unit/Application/Usecase/Employees/FindAllEmployeesTest.php b/tests/Unit/Application/Arcadia/Usecase/Employees/FindAllEmployeesTest.php similarity index 91% rename from tests/Unit/Application/Usecase/Employees/FindAllEmployeesTest.php rename to tests/Unit/Application/Arcadia/Usecase/Employees/FindAllEmployeesTest.php index afd0458..ca306be 100644 --- a/tests/Unit/Application/Usecase/Employees/FindAllEmployeesTest.php +++ b/tests/Unit/Application/Arcadia/Usecase/Employees/FindAllEmployeesTest.php @@ -2,11 +2,11 @@ declare(strict_types=1); -namespace Tests\Unit\Application\Usecase\Employees; +namespace Tests\Unit\Application\Arcadia\Usecase\Employees; -use Application\Usecase\Employees\FindAll\FindAllEmployees; -use Application\Usecase\Employees\FindAll\Input; -use Application\Usecase\Employees\FindAll\Output; +use Application\Arcadia\Usecase\Employees\FindAll\FindAllEmployees; +use Application\Arcadia\Usecase\Employees\FindAll\Input; +use Application\Arcadia\Usecase\Employees\FindAll\Output; use Domain\Models\Entities\Employee; use Domain\Models\ValueObjects\Employees\ArcadiaEmployeeId; use Domain\Models\ValueObjects\Employees\EmployeeSortColumn; diff --git a/tests/Unit/Application/Usecase/Employees/FindEmployeeTest.php b/tests/Unit/Application/Arcadia/Usecase/Employees/FindEmployeeTest.php similarity index 89% rename from tests/Unit/Application/Usecase/Employees/FindEmployeeTest.php rename to tests/Unit/Application/Arcadia/Usecase/Employees/FindEmployeeTest.php index 2568734..eb92261 100644 --- a/tests/Unit/Application/Usecase/Employees/FindEmployeeTest.php +++ b/tests/Unit/Application/Arcadia/Usecase/Employees/FindEmployeeTest.php @@ -2,12 +2,12 @@ declare(strict_types=1); -namespace Tests\Unit\Application\Usecase\Employees; +namespace Tests\Unit\Application\Arcadia\Usecase\Employees; -use Application\Exceptions\NotFoundException; -use Application\Usecase\Employees\Find\FindEmployee; -use Application\Usecase\Employees\Find\Input; -use Application\Usecase\Employees\Find\Output; +use Application\Arcadia\Usecase\Employees\Find\FindEmployee; +use Application\Arcadia\Usecase\Employees\Find\Input; +use Application\Arcadia\Usecase\Employees\Find\Output; +use Application\Shared\Exceptions\NotFoundException; use Domain\Models\Entities\Employee; use Domain\Models\ValueObjects\Employees\ArcadiaEmployeeId; use Domain\Models\ValueObjects\EstablishmentCode; diff --git a/tests/Unit/Application/Usecase/IncoCompositions/FindIncoCompositionTest.php b/tests/Unit/Application/Arcadia/Usecase/IncoCompositions/FindIncoCompositionTest.php similarity index 94% rename from tests/Unit/Application/Usecase/IncoCompositions/FindIncoCompositionTest.php rename to tests/Unit/Application/Arcadia/Usecase/IncoCompositions/FindIncoCompositionTest.php index 1f0c2f2..a9a44f2 100644 --- a/tests/Unit/Application/Usecase/IncoCompositions/FindIncoCompositionTest.php +++ b/tests/Unit/Application/Arcadia/Usecase/IncoCompositions/FindIncoCompositionTest.php @@ -2,12 +2,12 @@ declare(strict_types=1); -namespace Tests\Unit\Application\Usecase\IncoCompositions; +namespace Tests\Unit\Application\Arcadia\Usecase\IncoCompositions; -use Application\Exceptions\NotFoundException; -use Application\Usecase\IncoCompositions\Find\FindIncoComposition; -use Application\Usecase\IncoCompositions\Find\Input; -use Application\Usecase\IncoCompositions\Find\Output; +use Application\Arcadia\Usecase\IncoCompositions\Find\FindIncoComposition; +use Application\Arcadia\Usecase\IncoCompositions\Find\Input; +use Application\Arcadia\Usecase\IncoCompositions\Find\Output; +use Application\Shared\Exceptions\NotFoundException; use Domain\Models\Entities\Inco\Composition\IncoComposition; use Domain\Models\ValueObjects\Inco\Composition\AminoAcids; use Domain\Models\ValueObjects\Inco\Composition\CarbohydratesDetail; diff --git a/tests/Unit/Application/Usecase/Incosheets/FindAllIncoSheetsDtoTest.php b/tests/Unit/Application/Arcadia/Usecase/Incosheets/FindAllIncoSheetsDtoTest.php similarity index 89% rename from tests/Unit/Application/Usecase/Incosheets/FindAllIncoSheetsDtoTest.php rename to tests/Unit/Application/Arcadia/Usecase/Incosheets/FindAllIncoSheetsDtoTest.php index e0f9da2..89db2d8 100644 --- a/tests/Unit/Application/Usecase/Incosheets/FindAllIncoSheetsDtoTest.php +++ b/tests/Unit/Application/Arcadia/Usecase/Incosheets/FindAllIncoSheetsDtoTest.php @@ -2,12 +2,12 @@ declare(strict_types=1); -namespace Tests\Unit\Application\Usecase\IncoSheets; +namespace Tests\Unit\Application\Arcadia\Usecase\IncoSheets; -use Application\Usecase\IncoSheets\FindAll\Input; -use Application\Usecase\IncoSheets\FindAll\Output; -use Application\Usecase\IncoSheets\FindAll\PaginatedIncoSheet; -use Application\Usecase\IncoSheets\FindAll\PaginatedShortIncoSheet; +use Application\Arcadia\Usecase\IncoSheets\FindAll\Input; +use Application\Arcadia\Usecase\IncoSheets\FindAll\Output; +use Application\Arcadia\Usecase\IncoSheets\FindAll\PaginatedIncoSheet; +use Application\Arcadia\Usecase\IncoSheets\FindAll\PaginatedShortIncoSheet; use Domain\Models\Entities\Inco\IncoSheet; use Domain\Models\Entities\Inco\IncoShortSheet; use Domain\Models\ValueObjects\Inco\Allegations; diff --git a/tests/Unit/Application/Usecase/Incosheets/FindAllIncoSheetsTest.php b/tests/Unit/Application/Arcadia/Usecase/Incosheets/FindAllIncoSheetsTest.php similarity index 92% rename from tests/Unit/Application/Usecase/Incosheets/FindAllIncoSheetsTest.php rename to tests/Unit/Application/Arcadia/Usecase/Incosheets/FindAllIncoSheetsTest.php index 086e4f3..6447fef 100644 --- a/tests/Unit/Application/Usecase/Incosheets/FindAllIncoSheetsTest.php +++ b/tests/Unit/Application/Arcadia/Usecase/Incosheets/FindAllIncoSheetsTest.php @@ -2,11 +2,11 @@ declare(strict_types=1); -namespace Tests\Unit\Application\Usecase\Incosheets; +namespace Tests\Unit\Application\Arcadia\Usecase\IncoSheets; -use Application\Usecase\IncoSheets\FindAll\FindAllIncoSheets; -use Application\Usecase\IncoSheets\FindAll\Input; -use Application\Usecase\IncoSheets\FindAll\Output; +use Application\Arcadia\Usecase\IncoSheets\FindAll\FindAllIncoSheets; +use Application\Arcadia\Usecase\IncoSheets\FindAll\Input; +use Application\Arcadia\Usecase\IncoSheets\FindAll\Output; use Domain\Models\Entities\Inco\IncoSheet; use Domain\Models\ValueObjects\Inco\Allegations; use Domain\Models\ValueObjects\Inco\Brand; diff --git a/tests/Unit/Application/Usecase/Incosheets/FindIncoSheetDtoTest.php b/tests/Unit/Application/Arcadia/Usecase/Incosheets/FindIncoSheetDtoTest.php similarity index 90% rename from tests/Unit/Application/Usecase/Incosheets/FindIncoSheetDtoTest.php rename to tests/Unit/Application/Arcadia/Usecase/Incosheets/FindIncoSheetDtoTest.php index 60bffc6..f6dca83 100644 --- a/tests/Unit/Application/Usecase/Incosheets/FindIncoSheetDtoTest.php +++ b/tests/Unit/Application/Arcadia/Usecase/Incosheets/FindIncoSheetDtoTest.php @@ -2,10 +2,10 @@ declare(strict_types=1); -namespace Tests\Unit\Application\Usecase\IncoSheets; +namespace Tests\Unit\Application\Arcadia\Usecase\IncoSheets; -use Application\Usecase\IncoSheets\Find\Input; -use Application\Usecase\IncoSheets\Find\Output; +use Application\Arcadia\Usecase\IncoSheets\Find\Input; +use Application\Arcadia\Usecase\IncoSheets\Find\Output; use Domain\Models\ValueObjects\Inco\Allegations; use Domain\Models\ValueObjects\Inco\Brand; use Domain\Models\ValueObjects\Inco\IncoId; diff --git a/tests/Unit/Application/Usecase/Incosheets/FindIncoSheetTest.php b/tests/Unit/Application/Arcadia/Usecase/Incosheets/FindIncoSheetTest.php similarity index 90% rename from tests/Unit/Application/Usecase/Incosheets/FindIncoSheetTest.php rename to tests/Unit/Application/Arcadia/Usecase/Incosheets/FindIncoSheetTest.php index 65bfdf6..7de1234 100644 --- a/tests/Unit/Application/Usecase/Incosheets/FindIncoSheetTest.php +++ b/tests/Unit/Application/Arcadia/Usecase/Incosheets/FindIncoSheetTest.php @@ -2,12 +2,12 @@ declare(strict_types=1); -namespace Tests\Unit\Application\Usecase\IncoSheets; +namespace Tests\Unit\Application\Arcadia\Usecase\IncoSheets; -use Application\Exceptions\NotFoundException; -use Application\Usecase\IncoSheets\Find\FindIncoSheet; -use Application\Usecase\IncoSheets\Find\Input; -use Application\Usecase\IncoSheets\Find\Output; +use Application\Arcadia\Usecase\IncoSheets\Find\FindIncoSheet; +use Application\Arcadia\Usecase\IncoSheets\Find\Input; +use Application\Arcadia\Usecase\IncoSheets\Find\Output; +use Application\Shared\Exceptions\NotFoundException; use Domain\Models\Entities\Inco\IncoSheet; use Domain\Models\ValueObjects\Inco\Allegations; use Domain\Models\ValueObjects\Inco\Brand;