Skip to content

Ajoute une liste de tags (couples nom-valeur) aux indicateurs

Ronan Amicel requested to merge indicateur-tags into main

Contexte

On voudrait pouvoir associer des tags génériques à un indicateur, de manière à pouvoir regrouper et organiser les indicateurs selon différentes logiques métier (par programme, par direction, par thématique, etc.)

À noter qu’un indicateur peut potentiellement être lié à plusieurs programmes, donc on ne veut pas un simple dictionnaire, on veut pouvoir ajouter plusieurs tags avec le même nom.

cf. https://datahub.incubateur.tech/infrastructure/indicateurs/-/issues/192

Solution

Dans la définition d’un indicateur, on peut ajouter des tags sous la forme suivante :

- identifiant: identifiant_indicateur
  sql: SELECT 42
  tags:
   - programme: un_programme
   - programme: un_autre_programme
   - equipe: une_equipe

Dans l’API GraphQL, les tags sont requêtés de la manière suivante :

{
  departement(code: "31") {
    indicateurs {
      code
      maille
      indicateur(identifiant: "identifiant_indicateur") {
        valeur
        metadata {
          tags {
            name
            value
          }
        }
      }
    }
  }
}

La réponse correspondante :

{
  "data": {
    "departement": {
      "indicateurs": {
        "code": "31",
        "maille": "département",
        "indicateur": {
          "valeur": 42,
          "metadata": {
            "tags": [
              {
                "name": "programme",
                "value": "un_programme",
              },
              {
                "name": "programme",
                "value": "un_autre_programme",
              },
              {
                "name": "equipe",
                "value": "une_equipe",
              }
            ]
          }
        }
      }
    }
  }
}

Merge request reports