refactor(application): move usecases under Application\Arcadia\Usecase and NotFoundException to Application\Shared\Exceptions
This commit is contained in:
parent
fc368cdc46
commit
1fdf7ea9cc
64 changed files with 137 additions and 106 deletions
|
|
@ -146,7 +146,7 @@ return [
|
|||
*/
|
||||
|
||||
'model_locations' => [
|
||||
'src/Presentation',
|
||||
'src/Infra/Database/Models',
|
||||
],
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Application\Exceptions;
|
||||
namespace Application\Shared\Exceptions;
|
||||
|
||||
final class NotFoundException extends \RuntimeException
|
||||
{
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -23,6 +23,30 @@ function enumsIn(string $namespace): array
|
|||
return $enums;
|
||||
}
|
||||
|
||||
/** @return array<int, string> */
|
||||
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'));
|
||||
});
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
Loading…
Add table
Reference in a new issue