Files
Coltura/src/Module/Sites/Domain/Repository/SiteRepositoryInterface.php
tristan 8590e3e850 feat(sites) : brique fondatrice du module Sites (ticket 1/4)
Module Sites optionnel et desactivable via config/modules.php.
Entite Site (nom unique, ville, CP FR, couleur hex, adresse),
repository + impl Doctrine, migration racine (namespace DoctrineMigrations
conforme exception CLAUDE.md), fixtures idempotentes (Chatellerault,
Saint-Jean, Pommevic), permissions RBAC sites.view/sites.manage.
Tests unitaires + validation via KernelTestCase (UniqueEntity, regex
hex et CP, NotBlank, Length).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 15:45:33 +02:00

24 lines
446 B
PHP

<?php
declare(strict_types=1);
namespace App\Module\Sites\Domain\Repository;
use App\Module\Sites\Domain\Entity\Site;
interface SiteRepositoryInterface
{
public function findById(int $id): ?Site;
public function findByName(string $name): ?Site;
/**
* @return list<Site>
*/
public function findAllOrderedByName(): array;
public function save(Site $site): void;
public function remove(Site $site): void;
}