Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revisiter la gestion des versions dans les wrappers sur l'API data.gouv #271

Open
streino opened this issue Dec 12, 2023 · 0 comments
Open
Labels
question Question ou discussion requise sur le sujet refactor Evolutions du code sans impact sur le produit

Comments

@streino
Copy link
Contributor

streino commented Dec 12, 2023

Actuel

On a une hiérarchie unique de wrappers sur l'API data.gouv.

Ces wrappers exposent un mix de fonctions accédant aux versions 1 ou 2 de l'API, mais une instance donnée d'un wrapper est instanciée avec une seule version :

const datasetsApi = new DatasetsAPI()  // version 1 par défaut
const datasetsApiv2 = new DatasetsAPI({ version: 2 })

Ce qui fait qu'une partie seulement des fonctions exposées par une instance sera valide.

Par exemple, datasetsAPI.getDatasetsForOrganization() ne doit pas être utilisé car getDatasetsForOrganization se base sur la v2 de l'API data.gouv.

Attendu

Un moyen propre de manipuler l'API data.gouv qui soit :

  1. Fournit des instances n'exposant que des fonctions compatibles avec leur version d'API.
  2. Fournit des instances agnostiques de la version (en ce sens qu'elles ne leak pas cette contrainte à l'utilisateur).
@streino streino added refactor Evolutions du code sans impact sur le produit question Question ou discussion requise sur le sujet labels Dec 12, 2023
streino added a commit that referenced this issue Sep 13, 2024
streino added a commit that referenced this issue Sep 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Question ou discussion requise sur le sujet refactor Evolutions du code sans impact sur le produit
Projects
None yet
Development

No branches or pull requests

1 participant