Skip to content

Ajout query GraphQL indicateursValeursByIdentifiants

Vincent Lara requested to merge get-indicateurs into main

Contexte

Dans un futur proche on voudrait pouvoir ajouter aux indicateurs des tags. Une définition d’un indicateur pourrait alors ressembler à

 - idenfifiant: mon_indicateur
   tags:
     - programme: acv
     - programme: pvd
     - equipe: la belle équipe
   sql: SELECT 42

On voudrait pouvoir interroger via l’API graphQL les indicateurs en demandant tous les indicateurs dont la clé de tags est programme et la valeur acv par exemple.

Contenu

Dans cette MR on essaie d’avoir un nouveau point d’entrée que l’on pourra dupliquer où l’on retourne une liste d’indicateurs calculés. Cette MR sert à discuter sur l’interface

Nouveau point d’entrée

Avec cette MR on peut faire cette requête

query {
  indicateursValeurs(
    code: "53"
    filtre: {identifiants: ["nombre_villes_acv", "existe_pas"]}
    maille: "département"
  ) {
      items {
      ... on IndicateurCalcule {
        metadata {
          categorie
          identifiant
          nom
        }
        code
        valeur
      }
      ... on IdentifiantInconnuError {
        __typename
        identifiant
      }
    }
    totalItemsCount
  }
}

Qui retourne

{
  "data":
      "indicateursValeurs": {
        items: [
          {
            "metadata": {
              "categorie": null,
              "identifiant": null,
              "nom": "Ville(s) ACV"
            },
            "code": "53",
            "valeur": 1
          },
          {
            "__typename": "IdentifiantInconnuError",
            "identifiant": "existe_pas"
          }
        ]
     }
     "totalItemsCount": 2
  }
}

Je vois deux choses qui pourraient être des problèmes, identifiant est sous metadata dans le cas nominal, et à la racine dans le cas d’une erreur. Et valeur est toujours n’importe quel type de valeur.

On peut aussi passer offset et limit pour paginer les résultats

Je suis preneur de retours @sylvainboulade @vviers @ronan

Edited by Vincent Viers

Merge request reports