Files
logisticsAPI/memory-bank/activeContext.md
Marvin c84e0c680a Update Tiers functionality and enhance API documentation
- Changed the default value of the `$select` property in Tiers.php from `custid,custname` to `custid,name` to reflect valid column names.
- Updated the tiers.blade.php view to align the placeholder for the select field with the new default value.
- Enhanced the documentation for the `third_list` and `third_GetArtHistory` endpoints, detailing valid search columns, metadata, and response structures.
- Added new tests in TiersPageTest.php to verify the default select value, API parameter handling, and metadata storage.
- Overall, improved the user experience and API interaction for managing tiers.
2026-02-23 11:58:14 +01:00

5.1 KiB

Active Context

Dernière mise à jour : 2026-02-23

Travail en cours

Aucun travail en cours.

Changements récents (2026-02-23, session investigation endpoints Tiers)

  • Investigation complète des 2 endpoints Tiers : tests systématiques via appels API réels pour documenter third_list et third_GetArtHistory.
    • third_list : la recherche s'effectue sur les colonnes name, groupid, vat (pas custid). La colonne custname n'est PAS valide ; le nom est dans name. Colonnes par défaut : custid,name. Limite fixe de 10 résultats (paramètre results sans effet). Métadonnées détaillées : rowCount, source, executionTimeMs, searchColumns, selectColumns, searchTerms. Colonnes valides testées : custid, name, name2, vat, email, groupid, website, memo, paydelay, paymode, bankname, iban, bic, custtype, discount. Colonnes invalides : custname, name1, addr1, zip, city, country, phone1, etc.
    • third_GetArtHistory : seul paramètre thirdid (minuscules obligatoires, THIRDID ne fonctionne pas). Retourne l'historique complet sans pagination (4468 éléments pour le client de test). Structure : artid, artname, jnl, unitprice, qty, vatid, vatpc, s_credate. ID inexistant = tableau vide sans erreur.
  • Correction Tiers.php : valeur par défaut de $select changée de custid,custname (invalide) à custid,name (valide).
  • Vue tiers.blade.php : placeholder du champ select mis à jour.
  • Documentation enrichie : sections third_list et third_GetArtHistory massivement enrichies (colonnes valides, métadonnées, exemples de réponse, structure third_GetArtHistory). 3 nouvelles remarques ajoutées (colonnes third_list vs column_list/cust, colonnes de recherche, casse du paramètre thirdid).
  • 7 nouveaux tests Pest ajoutés dans TiersPageTest.php (total : 15 tests) : valeur par défaut select, envoi des paramètres, stockage des métadonnées, clé thirdid en minuscules, erreur API third_GetArtHistory, ID inexistant, filtrage select vide.
  • Total : 134 tests passent, 1 test pré-existant en échec (FilamentDashboardTest).

Décisions récentes

  • Colonne name au lieu de custname (2026-02-23) : La colonne custname n'existe pas dans l'endpoint third_list. Le nom du tiers est retourné dans la colonne name. La valeur par défaut de $select dans Tiers.php a été corrigée.
  • Colonnes de recherche third_list (2026-02-23) : Confirmé par tests que third_list recherche dans name, groupid, vat. Il est impossible de rechercher par custid.
  • Casse du paramètre thirdid (2026-02-23) : third_GetArtHistory exige thirdid en minuscules. THIRDID provoque une erreur HTTP 400.
  • Document_GetPDF fonctionnel (2026-02-23) : L'endpoint a été reclassé de "non fonctionnel" à "partiellement fonctionnel". Le paramètre LAYOUT doit être une valeur numérique en string.
  • Format de date YYYY-MM-DD (2026-02-23) : Confirmé par tests que tous les endpoints acceptant une date exigent strictement le format YYYY-MM-DD.
  • Toggle Lecture/Ecriture (2026-02-21) : Toutes les pages entité disposent d'un toggle.
  • Convention d'écriture avec accents (2026-02-20) : Tous les contenus en français utilisent les accents.

Historique

2026-02-23 (session investigation endpoints Documents)

  • Investigation complète des 9 endpoints Documents.
  • Document_GetPDF reclassé comme fonctionnel (LAYOUT numérique).
  • Format de date YYYY-MM-DD confirmé et documenté.
  • Codes paydelay et modes de paiement documentés.
  • Paramètre results ajouté à document_list.
  • 1 nouveau test Pest. Total à la fin de cette session : 125 tests.

2026-02-23 (session investigation art_list)

  • Investigation paramètre results : sans effet sur art_list (5 max) et third_list (10 max).
  • Investigation paramètre barcode : sans effet observable, search reste obligatoire.
  • Page Articles : $results supprimé, $barcode ajouté.
  • Documentation art_list et third_list corrigée.
  • 2 nouveaux tests barcode.

2026-02-23 (session gestion erreurs et validation)

  • Création de ApiErrorTranslator. Validation des champs obligatoires. Propriétés de tracking.
  • 4 nouveaux fichiers de tests. Total : 122 tests.

2026-02-21 (session endpoints manquants)

  • 2 méthodes ajoutées à LogisticsService. Pages Documents, Divers, toggle sur toutes les pages.
  • 23 nouveaux tests.

2026-02-20

  • Page Documentation, système de design, composants Blade, thème personnalisé, robustesse service.

2026-02-19

  • Installation Filament v5, 5 pages, LogisticsService, migration api_request_logs.

Prochaines étapes

  • Corriger le test pré-existant FilamentDashboardTest.
  • Tester toutes les pages avec de vraies données API et vérifier le rendu visuel.
  • Éventuellement : pagination / tri côté client pour les grands tableaux (notamment third_GetArtHistory qui peut retourner des milliers d'éléments).
  • Éventuellement : page de consultation des logs API.
  • Éventuellement : investiguer custom_geninv_updatestock (clarifier STKID, TOCHECK, MODE auprès du fournisseur).