Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dnum-mi/ds-api-client
Client d'API DémarcheSimplifiée
https://github.com/dnum-mi/ds-api-client
Last synced: 15 days ago
JSON representation
Client d'API DémarcheSimplifiée
- Host: GitHub
- URL: https://github.com/dnum-mi/ds-api-client
- Owner: dnum-mi
- Created: 2022-09-22T13:30:46.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-30T12:28:02.000Z (4 months ago)
- Last Synced: 2024-09-10T12:42:35.888Z (3 months ago)
- Language: TypeScript
- Size: 1.13 MB
- Stars: 1
- Watchers: 3
- Forks: 4
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
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
```shell
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](https://www.npmjs.com/package/@dnum-mi/ds-api-client)
```shell
npm add ds-api-client
```## Utilisation
```js
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](https://github.com/demarches-simplifiees/demarches-simplifiees.fr/blob/main/app/graphql/schema.graphql).
Pour générer, utliser le site generation [https://the-guild.dev/graphql/codegen](https://the-guild.dev/graphql/codegen).
La configuration à mettre est au nivau de codegen.yml est```yaml
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