Ajoute une liste de tags (couples nom-valeur) aux indicateurs
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",
}
]
}
}
}
}
}
}