GeotrekCE / Geotrek-admin

Paths management for National Parks and Tourism organizations
https://geotrek.fr
BSD 2-Clause "Simplified" License
132 stars 76 forks source link

API v2 / Harmoniser la sérialisation des types #3007

Open IdrissaD opened 2 years ago

IdrissaD commented 2 years ago

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.

camillemonchicourt commented 2 years ago

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.

Chatewgne commented 5 months ago

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",
camillemonchicourt commented 5 months ago

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.

Chatewgne commented 5 months ago

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

camillemonchicourt commented 5 months ago

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 commented 5 months ago

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.