Projet

Général

Profil

Development #66742

api: appliquer automatiquement unflatten

Ajouté par Benjamin Dauvergne il y a plus d'un an. Mis à jour il y a plus d'un an.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
28 juin 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Si une clé contenant un / est détecté au premier niveau. Ça devrait suffire.


Fichiers


Demandes liées

Lié à Authentic 2 - Bug #66741: API plate pour /api/roles/XXX/parentsNouveau28 juin 2022

Actions

Révisions associées

Révision 80c0e0fd (diff)
Ajouté par Benjamin Dauvergne il y a plus d'un an

api: apply unflatten to input JSON (#66742)

It should help dumb clients to make API calls.

Historique

#1

Mis à jour par Benjamin Dauvergne il y a plus d'un an

#2

Mis à jour par Benjamin Dauvergne il y a plus d'un an

  • Lié à Bug #66741: API plate pour /api/roles/XXX/parents ajouté
#3

Mis à jour par Paul Marillonnet il y a plus d'un an

Ok dans l’idée, juste pour ma compréhension, dans la fonction récursive set_path, je lis :

            if isinstance(key, int):
                # […]
                if len(d) == key:
                    d.append(new)
                else:
                    new = d[key]
            # […]
            set_path(path, orig_key, new, value, i + 1)

dans ce cas else: new = d[key], avec i > 0 (qui si je comprends bien correspond à un parcours d’un élément composé à l’intérieur d’une liste), le parcours est tronqué et on s’arrête là dans la liste parente, non ?

Aussi, sans doute avoir quelques tests générique à ce nouveau parseur, indépendamment de l’API de gestion des héritages entre rôles ?

#5

Mis à jour par Paul Marillonnet il y a plus d'un an

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

Paul Marillonnet a écrit :

dans ce cas else: new = d[key], avec i > 0 (qui si je comprends bien correspond à un parcours d’un élément composé à l’intérieur d’une liste), le parcours est tronqué et on s’arrête là dans la liste parente, non ?

Et donc le test_unflatten_array nouvellement ajouté au patche répond à mes interrogations, parfait.

Aussi, sans doute avoir quelques tests générique à ce nouveau parseur, indépendamment de l’API de gestion des héritages entre rôles ?

Vu tes ajouts là-dessus, merci. Je découvre que ce code est déjà présent dans passerelle (passerelle.utils.json). C’est bon pour moi.

#6

Mis à jour par Benjamin Dauvergne il y a plus d'un an

  • Statut changé de Solution validée à Résolu (à déployer)
commit 80c0e0fdd2aec2b37714c3f99570a3eb3eb0d54f
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Tue Jun 28 21:04:00 2022 +0200

    api: apply unflatten to input JSON (#66742)

    It should help dumb clients to make API calls.
#7

Mis à jour par Transition automatique il y a plus d'un an

  • Statut changé de Résolu (à déployer) à Solution déployée
#8

Mis à jour par Transition automatique il y a plus d'un an

Automatic expiration

Formats disponibles : Atom PDF