Closed Samuelfaure closed 2 years ago
On ne peut pas surcharger les setter pendant l'import : premièrement parce que lors de l'import d'un stock les setter ne sont pas utilisés par ActiveRecord.import. Ensuite, on ne parvient déjà pas à importer la donnée à cause des CSV dont je vais taire la qualité... On ne va pas rajouter une validation sur le format de date.
C'est la raison pour laquelle tout est importé en base en string.
Je ne pense pas qu'on soit prêt côté API pour améliorer le format et la qualité de la donnée. C'est ici une problématique d'affichage (aujourd'hui en tout cas) et donc un soucis à résoudre dans le front. Pour éviter les problèmes je renvoie tout en string, si tu veux tenter de formatter la donnée côté front pour afficher des jolies dates c'est ok pour moi. Soit la date est donnée avec des "/", soit avec des "-" et ça se formate en date, sinon garder et afficher la donnée brute.
Enfin, on ne va pas renvoyer autre chose que des string dans un premier temps : si le format d'un ou plusieurs champs changent il faudra une nouvelle version des API et ce n'est pas ce qu'on recherche.
A l'heure actuelle des entrées de date sont au format
30/01/2019
et d'autres2019-01-30
(ISO8601), par exemple pour les observations, selon l'origine du greffe. C'est un problème, on ne peut pas retourner aléatoirement un format différent sur le même champs.Je propose de corriger cela pendant l'import en surchargeant le setter activerecord :
formatted_date
dans un concern ou dans ApplicationRecord s'il faut effectuer ça sur d'autres modèles (probable)Problème possible : impact sur les performances pendant import (surtout niveau regex bien qu'elle soit simple).