456c6682b0
GET /api/qualimat_carriers?search= pour la saisie assistee du nom (RG-4.01, spec-back § 4.7) : recherche fuzzy sur name (+ siret), restreinte aux lignes actives (is_active = true), triee name ASC, paginee (regle n°13). - QualimatCarrierRepositoryInterface + DoctrineQualimatCarrierRepository : QueryBuilder de recherche (forcage is_active cote serveur, fuzzy multi-champs). - QualimatCarrierSearchProvider : provider de la GetCollection (pagination Hydra + echappatoire ?pagination=false), branche uniquement sur la collection. - ApiResource : provider custom sur GetCollection, retrait des ApiFilter natifs (incapables d'unifier name/siret sous ?search= ni d'imposer l'actif). Mapping ORM inchange (schema:update reste no-op). Aucune ecriture exposee. - Tests : actifs seuls, tri name, match siret, pagination Hydra, 403 sans perm.
26 lines
870 B
PHP
26 lines
870 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Module\Transport\Domain\Repository;
|
|
|
|
use Doctrine\ORM\QueryBuilder;
|
|
|
|
/**
|
|
* Contrat du repository du referentiel QUALIMAT (M4, lecture seule). Implementation
|
|
* Doctrine : App\Module\Transport\Infrastructure\Doctrine\DoctrineQualimatCarrierRepository.
|
|
*
|
|
* La table `qualimat_carrier` est alimentee/soft-deletee EXCLUSIVEMENT par la
|
|
* commande console `app:qualimat:sync` : ce contrat n'expose que de la lecture.
|
|
*/
|
|
interface QualimatCarrierRepositoryInterface
|
|
{
|
|
/**
|
|
* QueryBuilder de la saisie assistee (§ 4.7 / RG-4.01). Restreint aux lignes
|
|
* actives (is_active = true), recherche fuzzy sur name (+ siret), tri name ASC.
|
|
*
|
|
* @param null|string $search texte de recherche libre (fuzzy name + siret)
|
|
*/
|
|
public function createSearchQueryBuilder(?string $search = null): QueryBuilder;
|
|
}
|