Development #32014
L'API schema devrait retourner la liste des options pour les champs JSON
0%
Description
La liste étant disponible dans ce cas il faudrait l'exporter, cela simplifierait l'utilisation du endpoint submit (notamment la validation des données en entrée par le client); pour ne pas exporter les référentiels trop gros on pourrait se servir d'un indice comme la possibilité d'utiliser select2 pour le champ (can_jsonp() de #19271).
Fichiers
Demandes liées
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a environ 5 ans
A priori l'idée ne me choque pas mais : comme ça peut dépendre de variables, globales ou via des champs remplis plus tôt dans le formulaire, je ne pense pas qu'on puisse avoir là une donnée fiable. Aussi l'API est actuellement publique, on a des listes tirées de JSON qui ne doivent pas l'être.
Je pense du coup ça assez délicat.
Mis à jour par Benjamin Dauvergne il y a environ 5 ans
- Fichier 0001-api-export-structured-items-of-item-and-items-fields.patch 0001-api-export-structured-items-of-item-and-items-fields.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Voilà, ce n'est exporté que si l'appel est signé, c'est mis dans un champ à part 'structured_items' pour ne pas casser les appelants qui s'attendent à une liste de chaînes dans 'items'; par ailleurs 'items' est complété si vide (ça devrait toujours être le cas).
Les tests vérifient la sécurité (absence si non signé) et aussi que ça ne casse pas quand l'appel JSON foire (parce que nécessitant des variables, etc..); dans le cas ou l'appel ne foire pas mais ne renvoie pas les bonnes données et bien c'est un cas limite il faudra faire attention; je ne me place que dans le cas de référentiels propres.
Mis à jour par Benjamin Dauvergne il y a environ 5 ans
- Lié à Development #31595: connecteur générique vers service-public.fr/MDEL ajouté
Mis à jour par Nicolas Roche il y a environ 5 ans
Dans ItemField::export_to_json(self, include_id=False, anonymise=True),
ne faudrait-il pas prendre en considération self.anonymise lors de l'appel à super ?
field = super(ItemField, self).export_to_json(include_id=include_id, anonymise=anonymise)
deviendrai :
anonymise = anonymise or self.anonymize field = super(ItemField, self).export_to_json(include_id=include_id, anonymise=anonymise)
à moins que self.anonymize
ne soit en fait inutile (par exemple, il ne figure pas dans ItemsField) ?
Mis à jour par Benjamin Dauvergne il y a environ 5 ans
Ce n'est pas le même genre d'anonymise, celui sur self concerne les données ici ça concerne le schéma.
Mis à jour par Nicolas Roche il y a environ 5 ans
Ok, il s'agit ici de cacher les choix possibles.
(pas évident pour moi de saisir la distinction avec le même nom de variable)
Ack.
Mis à jour par Frédéric Péters il y a environ 5 ans
Ack.
Pour poser un ack n'hésite pas à mettre "solution validée".
Mis à jour par Nicolas Roche il y a environ 5 ans
- Statut changé de Solution proposée à Solution validée
(pardon j'ai oublié)
Mis à jour par Benjamin Dauvergne il y a environ 5 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 2cb534760d0bd963e8a8b56d53d6115361184629 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Fri Apr 5 12:34:04 2019 +0200 api: export structured items of item and items fields (#32014) It's only exported if the call is signed, it's exported in a new field 'structured_items' to keep signature of 'items'.
Mis à jour par Frédéric Péters il y a environ 5 ans
- Statut changé de Résolu (à déployer) à Solution déployée
api: export structured items of item and items fields (#32014)
It's only exported if the call is signed, it's exported in a new field
'structured_items' to keep signature of 'items'.