import { usePaginatedList } from '~/shared/composables/usePaginatedList'

/**
 * Ligne du référentiel QUALIMAT renvoyée par la saisie assistée (groupe
 * `qualimat:read`). `@id` est l'IRI conservée comme FK `carrier.qualimatCarrier`
 * (RG-4.01 / § 2.5) ; `validityDate` pilote le fond rouge de la colonne « Date de
 * validité » (RG-4.04).
 */
export interface QualimatCarrierRow {
    '@id': string
    id: string
    name: string | null
    siret: string | null
    address: string | null
    postalCode: string | null
    city: string | null
    validityDate: string | null
    status: string | null
}

/** Filtre de la recherche QUALIMAT (branché sur le nom du transporteur). */
export interface QualimatSearchFilters {
    search?: string
}

/**
 * Saisie assistée QUALIMAT (M4 Transport, ERP-166 — RG-4.01 / spec-back § 4.7).
 *
 * `GET /api/qualimat_carriers?search=` : référentiel en LECTURE SEULE, lignes
 * actives uniquement (filtré côté serveur), recherche fuzzy nom + siret. Simple
 * enveloppe de `usePaginatedList` (règle frontend : toute GetCollection passe par
 * ce composable — pagination Hydra, état 100 % local) consommée par le
 * `MalioDataTable` de l'onglet Qualimat. Le filtre `search` est piloté par le nom
 * saisi dans le formulaire principal (pas de champ de recherche dédié).
 *
 * Volontairement PAR INSTANCE (état local à l'écran d'ajout).
 */
export function useQualimatSearch() {
    return usePaginatedList<QualimatCarrierRow, QualimatSearchFilters>({ url: '/qualimat_carriers' })
}
