Projet

Général

Profil

Development #32014

L'API schema devrait retourner la liste des options pour les champs JSON

Ajouté par Benjamin Dauvergne il y a environ 5 ans. Mis à jour il y a environ 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
05 avril 2019
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

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

Lié à Passerelle - Development #31595: connecteur générique vers service-public.fr/MDELFermé20 mars 2019

Actions

Révisions associées

Révision 2cb53476 (diff)
Ajouté par Benjamin Dauvergne il y a environ 5 ans

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'.

Historique

#1

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.

#2

Mis à jour par Benjamin Dauvergne il y a environ 5 ans

  • Assigné à mis à Benjamin Dauvergne
#3

Mis à jour par Benjamin Dauvergne il y a environ 5 ans

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.

#4

Mis à jour par Benjamin Dauvergne il y a environ 5 ans

#5

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) ?

#6

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.

#7

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.

#8

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".

#9

Mis à jour par Nicolas Roche il y a environ 5 ans

  • Statut changé de Solution proposée à Solution validée

(pardon j'ai oublié)

#10

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'.
#11

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

Formats disponibles : Atom PDF