@dnum-mi/ds-api-client
v1.8.0
Published
Un DS Client GraphQL prenant en charge Node et les navigateurs pour les scripts ou les applications simples
Downloads
686
Readme
ds-api-client
Un DS Client GraphQL prenant en charge Node et les navigateurs pour les scripts ou les applications simples
Fonctionnalités
- DS API V2 Client GraphQL
- Promise-based API (fonctionne avec
async
/await
) - Prise en charge de TypeScript
- Isomorphic (fonctionne avec Node / navigateurs)
Run Test
cp test/env.example .env
# Changer les valeurs dans le .env
npm test
Installation
NPM: https://www.npmjs.com/package/@dnum-mi/ds-api-client
npm add ds-api-client
Utilisation
import { DsApiClient } from 'ds-api-client'
const token = 'xxxxx'
const url = 'https://www.demarches-simplifiees.fr/api/v2/graphql'
// ... Créer une instance DS API client
const client = new DsApiClient(url, token)
// ... Créer une instance DS API client avec un http proxy
const client = new DsApiClient(url, token, proxyUrl)
// ... Rechercher une demarche par id de demarche
const demarche = await client.demarche(idDemarche)
// ... Rechercher les dossiers d'une demarche par id de demarche
const demarcheDossiers = await client.demarcheDossiers(idDemarche).then((data) => console.log(data))
// ... Rechercher les dossiers supprimés d'une demarche par id de demarche
const demarcheDeletedDossiers = await client.demarcheDeletedDossiers(idDemarche).then((data) => console.log(data))
// ... Rechercher un dossier par id de dossier
const dossier = await client.dossier(idDossier).then((data) => console.log(data))
// ... Rechercher les groupeInstructeur par une id
const groupeInstructeur = await client.groupeInstructeur(idGroupeInstructeur).then((data) => console.log(data))
Generation des types à partir du schema grapghql
Le schema de Demarches-Simplifiées peut-être récupérer de lien ici.
Pour générer, utliser le site generation https://the-guild.dev/graphql/codegen. La configuration à mettre est au nivau de codegen.yml est
generates:
generated-types.ts:
plugins:
- typescript
config:
enumsAsConst: true
Publier dans le registre npm
- Sur un action de 'push' ou fusion sur la branche "main", un "pull resquet" de création de "release" sera crée
- Fusionner cet "pull request" sur main