41 lines
1.5 KiB
TypeScript
41 lines
1.5 KiB
TypeScript
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' })
|
|
}
|