From ad029f5c7defe0c85dff76c4870b310eb197a842 Mon Sep 17 00:00:00 2001 From: matthieu Date: Wed, 24 Jun 2026 20:53:17 +0200 Subject: [PATCH] chore(directory) : ferme contrats Repository (findBy) + bindings DI MCP Directory Plumbing complementaire des outils MCP ajoutes en 99626b8 : - declare findBy() sur Address/Contact/CommercialReport RepositoryInterface (Prestataire l'avait deja) pour exposer la methode au contrat DDD - bindings explicites des 4 repos dans services.yaml (cohrence avec Client/Prospect, meme si Symfony auto-alias l'interface vers l'unique implementation) --- config/services.yaml | 8 ++++++++ .../Domain/Repository/AddressRepositoryInterface.php | 8 ++++++++ .../Repository/CommercialReportRepositoryInterface.php | 8 ++++++++ .../Domain/Repository/ContactRepositoryInterface.php | 8 ++++++++ 4 files changed, 32 insertions(+) diff --git a/config/services.yaml b/config/services.yaml index e40a324..e06624d 100644 --- a/config/services.yaml +++ b/config/services.yaml @@ -113,6 +113,14 @@ services: App\Module\Directory\Domain\Repository\ProspectRepositoryInterface: '@App\Module\Directory\Infrastructure\Doctrine\DoctrineProspectRepository' + App\Module\Directory\Domain\Repository\PrestataireRepositoryInterface: '@App\Module\Directory\Infrastructure\Doctrine\DoctrinePrestataireRepository' + + App\Module\Directory\Domain\Repository\ContactRepositoryInterface: '@App\Module\Directory\Infrastructure\Doctrine\DoctrineContactRepository' + + App\Module\Directory\Domain\Repository\AddressRepositoryInterface: '@App\Module\Directory\Infrastructure\Doctrine\DoctrineAddressRepository' + + App\Module\Directory\Domain\Repository\CommercialReportRepositoryInterface: '@App\Module\Directory\Infrastructure\Doctrine\DoctrineCommercialReportRepository' + App\Module\Directory\Infrastructure\EventListener\CommercialReportAuthorListener: tags: - { name: doctrine.orm.entity_listener, entity: 'App\Module\Directory\Domain\Entity\CommercialReport', event: prePersist } diff --git a/src/Module/Directory/Domain/Repository/AddressRepositoryInterface.php b/src/Module/Directory/Domain/Repository/AddressRepositoryInterface.php index 44b05f0..d58c843 100644 --- a/src/Module/Directory/Domain/Repository/AddressRepositoryInterface.php +++ b/src/Module/Directory/Domain/Repository/AddressRepositoryInterface.php @@ -9,4 +9,12 @@ use App\Module\Directory\Domain\Entity\Address; interface AddressRepositoryInterface { public function findById(int $id): ?Address; + + /** + * @param array $criteria + * @param null|array $orderBy + * + * @return Address[] + */ + public function findBy(array $criteria, ?array $orderBy = null, ?int $limit = null, ?int $offset = null): array; } diff --git a/src/Module/Directory/Domain/Repository/CommercialReportRepositoryInterface.php b/src/Module/Directory/Domain/Repository/CommercialReportRepositoryInterface.php index 94fa3d0..793a580 100644 --- a/src/Module/Directory/Domain/Repository/CommercialReportRepositoryInterface.php +++ b/src/Module/Directory/Domain/Repository/CommercialReportRepositoryInterface.php @@ -9,4 +9,12 @@ use App\Module\Directory\Domain\Entity\CommercialReport; interface CommercialReportRepositoryInterface { public function findById(int $id): ?CommercialReport; + + /** + * @param array $criteria + * @param null|array $orderBy + * + * @return CommercialReport[] + */ + public function findBy(array $criteria, ?array $orderBy = null, ?int $limit = null, ?int $offset = null): array; } diff --git a/src/Module/Directory/Domain/Repository/ContactRepositoryInterface.php b/src/Module/Directory/Domain/Repository/ContactRepositoryInterface.php index 0f28c4d..6b8ef1e 100644 --- a/src/Module/Directory/Domain/Repository/ContactRepositoryInterface.php +++ b/src/Module/Directory/Domain/Repository/ContactRepositoryInterface.php @@ -9,4 +9,12 @@ use App\Module\Directory\Domain\Entity\Contact; interface ContactRepositoryInterface { public function findById(int $id): ?Contact; + + /** + * @param array $criteria + * @param null|array $orderBy + * + * @return Contact[] + */ + public function findBy(array $criteria, ?array $orderBy = null, ?int $limit = null, ?int $offset = null): array; }