Geotrek-admin icon indicating copy to clipboard operation
Geotrek-admin copied to clipboard

API v2 / Harmoniser la sérialisation des types

Open IdrissaD opened this issue 2 years ago • 6 comments

Actuellement, les types ou catégories de données remontent dans l'API de manière disparate :

information_desk :

"id" : 1,
"type": {
        "id": 3,
        "label": {
          "fr": "Office du tourisme",
          "en": null,
          "es": null,
          "it": null
        },
        "pictogram": "https://admin48-dev.openig.org/media/upload/desktype-info.svg"
}

trekking_poi :

"id" : 1,
"type": 8,
"type_label": {
        "fr": "Eau et géologie",
        "en": "Geology",
        "es": null,
        "it": null
      },
"type_pictogram": "https://admin48-dev.openig.org/media/upload/EAU_et_GEOLOGIE_1.svg"

outdoor_course :

"id" : 1,
"type" : 4

(aucune information de label ou name ne remonte pour le type des outdoor_course)

La structure de informationdesk me semble la plus intéressante, notamment car elle utilise un "sous-objet" (je ne sais pas quel est le terme) issu lui-même de l'API : image

En conjonction avec la proposition du ticket #3006, cela permettrait un traitement automatisé des résultats de l'API beaucoup plus simple et moins sujet aux erreurs.

IdrissaD avatar Mar 16 '22 13:03 IdrissaD

OK là aussi ça serait bien d'harmoniser aussi. Mais comme l'API est utilisée par Geotrek-rando-v3 mais aussi des plateformes tiers, de tels changements ne seraient pas rétro-compatibles et nécessiterait une v3 de l'API il me semble.

camillemonchicourt avatar Mar 16 '22 22:03 camillemonchicourt

Il y a aussi une incohérence dans les valeurs qui sont renvoyées pour "structure", parfois on renvoie le nom, parfois l'id

Sur /trek/, /touristiccontent/, /touristicevent/, /outdoor_site/, /outdoor_course/:

"structure" : 4,

Sur /service/, /infrastructure/, /signage/, /sensitivearea/

"structure" : "CD04",
  • Préfère-t-on utiliser le nom ou l'id ?
  • Peut-on homogénéiser sans risque ou cela représente-il un gros breaking change ?

Chatewgne avatar Apr 18 '24 12:04 Chatewgne

Ce qu'on utilise actuellement est le paramètre de filtre par structure des différents routes qui fonctionne partout avec un ID. concernant l'info de structure qui est retournée sur chaque objet, on ne l'utilise pas à ma connaissance.

camillemonchicourt avatar Apr 18 '24 13:04 camillemonchicourt

Merci pour ton retour @camillemonchicourt , je pense plutôt changer pour que l'ID remonte partout, c'est plus homogène avec le reste

Chatewgne avatar Apr 18 '24 13:04 Chatewgne

Oui je pencherai aussi pour cette homogénéisation avec les ID. Elle est discutable plus globalement, mais comme c'est qu'on fait quasiment partout, autant rester sur ça, et revoir globalement si on décide de ne plus faire avec des ID et jointures.

camillemonchicourt avatar Apr 18 '24 13:04 camillemonchicourt

Fait dans la version 2.105.0 pour la propriété "structure" dans les différentes routes de l'API dans la PR https://github.com/GeotrekCE/Geotrek-admin/pull/4078, en renvoyant toujours les ID des structures.

camillemonchicourt avatar May 07 '24 12:05 camillemonchicourt