/
Generar contratos desde Swagger

Generar contratos desde Swagger

Descripción del cliente generate-dto

Para la facilidad de generación de contratos se ha visto la necesidad de escribir un pequeño CLI en node ubicado en packages/generate-dto

josenapa@MacBook-Pro-de-Jose-oxxo app % yarn run generate-dto Usage: api-core <option> Options: --version Show version number [boolean] --all Generate All DTOs [boolean] --service-name Generate specific service DTO [string] --env Services Environment [string] [required] --output DTOs Output dir [string] [required] --help Show help [boolean]

Párametros que recibe el comando

Parametro

Descripción

required

Parametro

Descripción

required

all

Permite generar todos los contratos de todos los servicios definidos en el archivo swagger-doc-list.json

No

service-name

Permite generar todos los contratos de un solo servicio, importante que el servicio esté registrado dentro del archivo swagger-doc-list.json

No

env

Define el environment desde donde se va extraer la información de los contratos, puede ser dev o qa

Si

output

Define el directorio donde se van a escribir los archivos .d.ts generados de los contratos

Si

Generación de contratos

Para la generación de contratos, se han incluido 4 scripts dentro del package.json

"api:generate": "generate-dto --env=dev --output=./src/api/models --all && prettier --write src/api/models", "api:generate:qa": "generate-dto --env=qa --output=./src/api/models --all && prettier --write src/api/models", "api:generate:single": "generate-dto --env=dev --output=./src/api/models $0 && prettier --write src/api/models", "api:generate:single:qa": "generate-dto --env=qa --output=./src/api/models $0 && prettier --write src/api/models",

Comando

Descripción

Comando

Descripción

api:generate

este comando genera por defecto todos los contratos de todos los servicios publicados en dev

api:generate:qa

este comando genera por defecto todos los contratos de todos los servicios publicados en qa

api:generate:single

este comando genera por defecto todos los contratos de un servicio en especifico de dev

api:generate:single:qa

este contrato genera por defecto todos los contratos de un servicio en especifico de qa

Ejemplos

  • Generar todos los contratos de dev

    yarn run api:generate

     

  • Generar todos los contratos de qa

     

  • Generar todos los contratos de un servicio especifico de dev

     

  • Generar todos los contratos de un servicio especifico de QA


Agregar nuevos servicios para generar contratos

Cuando backend agrega un nuevo bloque de servicios, debemos registrarlo en el archivo swagger-doc-list.json ubicado en packages/generate-dto/src/data. Posterior al registro del nuevo servicio, se deben ejecutar los comandos para generar los DTOs.

Add label

Related content

Buenas prácticas de taxonomía de eventos
Buenas prácticas de taxonomía de eventos
Read with this
Frontend - ambientación local
Frontend - ambientación local
Read with this
Manuales y guías - backend
Manuales y guías - backend
Read with this
Uso de i18n
Read with this
Documentación Spin
Documentación Spin
Read with this
ffss-token-aggregation-service
ffss-token-aggregation-service
Read with this