diff --git a/src/Domain/Models/Entities/Employee.php b/src/Domain/Models/Entities/Employee.php index 167eff4..9885e4c 100644 --- a/src/Domain/Models/Entities/Employee.php +++ b/src/Domain/Models/Entities/Employee.php @@ -8,9 +8,9 @@ use Domain\Models\ValueObjects\Employees\ArcadiaEmployeeId; use Domain\Models\ValueObjects\EstablishmentCode; use Domain\Models\ValueObjects\ServiceId; use Domain\Models\ValueObjects\SiteId; -use Shared\DDD\Entity; +use Shared\DDD\Model\Entity; -/** @implements \Shared\DDD\Entity<\Domain\Models\ValueObjects\Employees\ArcadiaEmployeeId> */ +/** @implements Entity */ final readonly class Employee implements Entity { public function __construct( diff --git a/src/Domain/Models/Entities/Inco/Composition/IncoComposition.php b/src/Domain/Models/Entities/Inco/Composition/IncoComposition.php index ac6c1b9..cf20064 100644 --- a/src/Domain/Models/Entities/Inco/Composition/IncoComposition.php +++ b/src/Domain/Models/Entities/Inco/Composition/IncoComposition.php @@ -20,7 +20,7 @@ use Domain\Models\ValueObjects\Inco\Composition\ReferenceMacronutrients; use Domain\Models\ValueObjects\Inco\Composition\SpecialCompounds; use Domain\Models\ValueObjects\Inco\Composition\Vitamins; use Domain\Models\ValueObjects\Inco\IncoId; -use Shared\DDD\Entity; +use Shared\DDD\Model\Entity; /** @implements Entity */ final readonly class IncoComposition implements Entity diff --git a/src/Domain/Models/Entities/Inco/IncoSheet.php b/src/Domain/Models/Entities/Inco/IncoSheet.php index 8416886..906f397 100644 --- a/src/Domain/Models/Entities/Inco/IncoSheet.php +++ b/src/Domain/Models/Entities/Inco/IncoSheet.php @@ -13,7 +13,7 @@ use Domain\Models\ValueObjects\Inco\Ingredients; use Domain\Models\ValueObjects\Inco\Nutriscore; use Domain\Models\ValueObjects\Inco\PortionAmount; use Domain\Models\ValueObjects\Inco\StorageCondition; -use Shared\DDD\Entity; +use Shared\DDD\Model\Entity; /** @implements Entity */ final readonly class IncoSheet implements Entity diff --git a/src/Domain/Models/Entities/Inco/IncoShortSheet.php b/src/Domain/Models/Entities/Inco/IncoShortSheet.php index 670617a..89249b7 100644 --- a/src/Domain/Models/Entities/Inco/IncoShortSheet.php +++ b/src/Domain/Models/Entities/Inco/IncoShortSheet.php @@ -5,7 +5,7 @@ declare(strict_types=1); namespace Domain\Models\Entities\Inco; use Domain\Models\ValueObjects\Inco\IncoId; -use Shared\DDD\Entity; +use Shared\DDD\Model\Entity; /** @implements Entity */ final readonly class IncoShortSheet implements Entity diff --git a/src/Domain/Models/ValueObjects/Employees/ArcadiaEmployeeId.php b/src/Domain/Models/ValueObjects/Employees/ArcadiaEmployeeId.php index 2fd24d4..48f8eb9 100644 --- a/src/Domain/Models/ValueObjects/Employees/ArcadiaEmployeeId.php +++ b/src/Domain/Models/ValueObjects/Employees/ArcadiaEmployeeId.php @@ -4,7 +4,7 @@ declare(strict_types=1); namespace Domain\Models\ValueObjects\Employees; -use Shared\DDD\EntityId; +use Shared\DDD\Model\EntityId; final readonly class ArcadiaEmployeeId extends EntityId { diff --git a/src/Domain/Models/ValueObjects/Inco/Composition/IncoCompositionId.php b/src/Domain/Models/ValueObjects/Inco/Composition/IncoCompositionId.php index 5eb80d7..b5f7958 100644 --- a/src/Domain/Models/ValueObjects/Inco/Composition/IncoCompositionId.php +++ b/src/Domain/Models/ValueObjects/Inco/Composition/IncoCompositionId.php @@ -4,7 +4,7 @@ declare(strict_types=1); namespace Domain\Models\ValueObjects\Inco\Composition; -use Shared\DDD\EntityId; +use Shared\DDD\Model\EntityId; final readonly class IncoCompositionId extends EntityId { diff --git a/src/Domain/Models/ValueObjects/Inco/IncoId.php b/src/Domain/Models/ValueObjects/Inco/IncoId.php index 011f10d..dc57c55 100644 --- a/src/Domain/Models/ValueObjects/Inco/IncoId.php +++ b/src/Domain/Models/ValueObjects/Inco/IncoId.php @@ -4,7 +4,7 @@ declare(strict_types=1); namespace Domain\Models\ValueObjects\Inco; -use Shared\DDD\EntityId; +use Shared\DDD\Model\EntityId; final readonly class IncoId extends EntityId { diff --git a/src/Domain/Ports/Directories/EmployeeDirectory.php b/src/Domain/Ports/Directories/EmployeeDirectory.php index fded1b3..2d45e0f 100644 --- a/src/Domain/Ports/Directories/EmployeeDirectory.php +++ b/src/Domain/Ports/Directories/EmployeeDirectory.php @@ -8,7 +8,7 @@ use Domain\Models\Entities\Employee; use Domain\Models\ValueObjects\Employees\ArcadiaEmployeeId; use Domain\Models\ValueObjects\Employees\EmployeeFilter; use Domain\Models\ValueObjects\Employees\EmployeeSorter; -use Shared\DDD\Directory; +use Shared\DDD\Port\Directory; use Shared\Paginated; use Shared\Pagination; diff --git a/src/Domain/Ports/Directories/IncoCompositionDirectory.php b/src/Domain/Ports/Directories/IncoCompositionDirectory.php index 4c20fac..f03848d 100644 --- a/src/Domain/Ports/Directories/IncoCompositionDirectory.php +++ b/src/Domain/Ports/Directories/IncoCompositionDirectory.php @@ -7,7 +7,7 @@ namespace Domain\Ports\Directories; use Domain\Models\Entities\Inco\Composition\IncoComposition; use Domain\Models\ValueObjects\Inco\Composition\IncoCompositionId; use Domain\Models\ValueObjects\Inco\IncoId; -use Shared\DDD\Directory; +use Shared\DDD\Port\Directory; /** @extends Directory */ interface IncoCompositionDirectory extends Directory diff --git a/src/Domain/Ports/Directories/IncoSheetDirectory.php b/src/Domain/Ports/Directories/IncoSheetDirectory.php index 55f6ddc..76d9de9 100644 --- a/src/Domain/Ports/Directories/IncoSheetDirectory.php +++ b/src/Domain/Ports/Directories/IncoSheetDirectory.php @@ -9,7 +9,7 @@ use Domain\Models\ValueObjects\Inco\IncoId; use Domain\Models\ValueObjects\Inco\IncoIdQuery; use Domain\Models\ValueObjects\Inco\IncoSheetFilter; use Domain\Models\ValueObjects\Inco\IncoSheetSorter; -use Shared\DDD\Directory; +use Shared\DDD\Port\Directory; use Shared\Paginated; use Shared\Pagination; diff --git a/src/Domain/Ports/Directories/IncoShortSheetDirectory.php b/src/Domain/Ports/Directories/IncoShortSheetDirectory.php index 11543d7..e1231df 100644 --- a/src/Domain/Ports/Directories/IncoShortSheetDirectory.php +++ b/src/Domain/Ports/Directories/IncoShortSheetDirectory.php @@ -9,7 +9,7 @@ use Domain\Models\ValueObjects\Inco\IncoId; use Domain\Models\ValueObjects\Inco\IncoIdQuery; use Domain\Models\ValueObjects\Inco\IncoSheetFilter; use Domain\Models\ValueObjects\Inco\IncoSheetSorter; -use Shared\DDD\Directory; +use Shared\DDD\Port\Directory; use Shared\Paginated; use Shared\Pagination; diff --git a/src/Shared/DDD/DomainEventDispatcher.php b/src/Shared/DDD/Event/DomainEventDispatcher.php similarity index 81% rename from src/Shared/DDD/DomainEventDispatcher.php rename to src/Shared/DDD/Event/DomainEventDispatcher.php index b992cde..8568d4d 100644 --- a/src/Shared/DDD/DomainEventDispatcher.php +++ b/src/Shared/DDD/Event/DomainEventDispatcher.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Shared\DDD; +namespace Shared\DDD\Event; interface DomainEventDispatcher { diff --git a/src/Shared/DDD/Event.php b/src/Shared/DDD/Event/Event.php similarity index 65% rename from src/Shared/DDD/Event.php rename to src/Shared/DDD/Event/Event.php index b56973d..a09b8a2 100644 --- a/src/Shared/DDD/Event.php +++ b/src/Shared/DDD/Event/Event.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Shared\DDD; +namespace Shared\DDD\Event; interface Event { diff --git a/src/Shared/DDD/Entity.php b/src/Shared/DDD/Model/Entity.php similarity index 84% rename from src/Shared/DDD/Entity.php rename to src/Shared/DDD/Model/Entity.php index d877c5d..2795521 100644 --- a/src/Shared/DDD/Entity.php +++ b/src/Shared/DDD/Model/Entity.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Shared\DDD; +namespace Shared\DDD\Model; /** * @template T of EntityId diff --git a/src/Shared/DDD/EntityId.php b/src/Shared/DDD/Model/EntityId.php similarity index 95% rename from src/Shared/DDD/EntityId.php rename to src/Shared/DDD/Model/EntityId.php index 5ddceea..0c1e390 100644 --- a/src/Shared/DDD/EntityId.php +++ b/src/Shared/DDD/Model/EntityId.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Shared\DDD; +namespace Shared\DDD\Model; abstract readonly class EntityId implements \Stringable, Equatable { diff --git a/src/Shared/DDD/Equatable.php b/src/Shared/DDD/Model/Equatable.php similarity index 79% rename from src/Shared/DDD/Equatable.php rename to src/Shared/DDD/Model/Equatable.php index 11eaef5..7053d4a 100644 --- a/src/Shared/DDD/Equatable.php +++ b/src/Shared/DDD/Model/Equatable.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Shared\DDD; +namespace Shared\DDD\Model; interface Equatable { diff --git a/src/Shared/DDD/Directory.php b/src/Shared/DDD/Port/Directory.php similarity index 84% rename from src/Shared/DDD/Directory.php rename to src/Shared/DDD/Port/Directory.php index 62c1023..f5aa84a 100644 --- a/src/Shared/DDD/Directory.php +++ b/src/Shared/DDD/Port/Directory.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Shared\DDD; +namespace Shared\DDD\Port; /** * @template TId diff --git a/src/Shared/DDD/Repository.php b/src/Shared/DDD/Port/Repository.php similarity index 60% rename from src/Shared/DDD/Repository.php rename to src/Shared/DDD/Port/Repository.php index a67847f..3b4a0b6 100644 --- a/src/Shared/DDD/Repository.php +++ b/src/Shared/DDD/Port/Repository.php @@ -2,11 +2,11 @@ declare(strict_types=1); -namespace Shared\DDD; +namespace Shared\DDD\Port; /** - * @template TId of \Shared\DDD\EntityId - * @template TEntity of \Shared\DDD\Entity + * @template TId of \Shared\DDD\Model\EntityId + * @template TEntity of \Shared\DDD\Model\Entity * * @method TEntity|null find(TId $id) * @method void persist(TEntity $entity) diff --git a/tests/Architecture/DomainTest.php b/tests/Architecture/DomainTest.php index ca0c4bc..4bab3f6 100644 --- a/tests/Architecture/DomainTest.php +++ b/tests/Architecture/DomainTest.php @@ -4,12 +4,12 @@ declare(strict_types=1); namespace Tests\Architecture; -use Shared\DDD\Directory; -use Shared\DDD\Entity; -use Shared\DDD\Repository; +use Shared\DDD\Model\Entity; +use Shared\DDD\Port\Directory; +use Shared\DDD\Port\Repository; describe('Domain Architecture Rules', function (): void { - arch('Domain Entities implement Shared\DDD\Entity') + arch('Domain Entities implement Shared\DDD\Model\Entity') ->expect('Domain\Models\Entities') ->toImplement(Entity::class); @@ -23,11 +23,11 @@ describe('Domain Architecture Rules', function (): void { ->classes() ->toBeInterface(); - arch('Domain Port Directories extend Shared\DDD\Directory') + arch('Domain Port Directories extend Shared\DDD\Port\Directory') ->expect('Domain\Ports\Directories') ->toExtend(Directory::class); - arch('Domain Port Repositories extend Shared\DDD\Repository') + arch('Domain Port Repositories extend Shared\DDD\Port\Repository') ->expect('Domain\Ports\Repositories') ->toExtend(Repository::class); diff --git a/tests/Architecture/NamingConventionsTest.php b/tests/Architecture/NamingConventionsTest.php index 7cd7248..b25d74e 100644 --- a/tests/Architecture/NamingConventionsTest.php +++ b/tests/Architecture/NamingConventionsTest.php @@ -5,8 +5,8 @@ declare(strict_types=1); namespace Tests\Architecture; use Presentation\Api\V1\Contracts\ApiResponse; -use Shared\DDD\Directory; -use Shared\DDD\Repository; +use Shared\DDD\Port\Directory; +use Shared\DDD\Port\Repository; describe('Naming Conventions in Domain', function (): void { arch('Port Directory interfaces have Directory suffix') diff --git a/tests/Unit/Domain/Entities/IncoCompositionEntityTest.php b/tests/Unit/Domain/Entities/IncoCompositionEntityTest.php index d160aa5..4fbfc28 100644 --- a/tests/Unit/Domain/Entities/IncoCompositionEntityTest.php +++ b/tests/Unit/Domain/Entities/IncoCompositionEntityTest.php @@ -25,7 +25,7 @@ use Domain\Models\ValueObjects\Inco\Composition\ReferenceMacronutrients; use Domain\Models\ValueObjects\Inco\Composition\SpecialCompounds; use Domain\Models\ValueObjects\Inco\Composition\Vitamins; use Domain\Models\ValueObjects\Inco\IncoId; -use Shared\DDD\Entity; +use Shared\DDD\Model\Entity; covers(IncoComposition::class); diff --git a/tests/Unit/Domain/Entities/IncoSheetEntityTest.php b/tests/Unit/Domain/Entities/IncoSheetEntityTest.php index c73e7fd..9c809fe 100644 --- a/tests/Unit/Domain/Entities/IncoSheetEntityTest.php +++ b/tests/Unit/Domain/Entities/IncoSheetEntityTest.php @@ -9,7 +9,7 @@ use Domain\Models\ValueObjects\Inco\Allegations; use Domain\Models\ValueObjects\Inco\Brand; use Domain\Models\ValueObjects\Inco\IncoId; use Domain\Models\ValueObjects\Inco\Ingredients; -use Shared\DDD\Entity; +use Shared\DDD\Model\Entity; covers(IncoSheet::class); diff --git a/tests/Unit/Shared/DDD/EntityIdTest.php b/tests/Unit/Shared/DDD/EntityIdTest.php index 256d983..53a8f36 100644 --- a/tests/Unit/Shared/DDD/EntityIdTest.php +++ b/tests/Unit/Shared/DDD/EntityIdTest.php @@ -4,7 +4,7 @@ declare(strict_types=1); namespace Tests\Unit\Shared\DDD; -use Shared\DDD\EntityId; +use Shared\DDD\Model\EntityId; covers(EntityId::class);