1.1.4 • Published 4 months ago

@tresdoce-nestjs-toolkit/response-parser v1.1.4

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

⚠️ Es importante tener en cuenta que este interceptor se encuentra implementado en el package @tresdoce-nestjs-toolkit/paas, ya que es una funcionalidad core para el starter.

Este módulo está pensada para ser utilizada en NestJS Starter, o cualquier proyecto que utilice una configuración centralizada, siguiendo la misma arquitectura del starter.

Glosario


📝 Requerimientos básicos

🛠️ Instalar dependencia

npm install -S @tresdoce-nestjs-toolkit/response-parser
yarn add @tresdoce-nestjs-toolkit/response-parser

⚙️ Configuración

Para utilizar este interceptor, es necesario instanciarlo como provider en el módulo principal (app.module.ts), ya que este tiene integrado el uso del ConfigService para realizar la propagación de custom headers en la respuesta.

La implementación del formato de respuesta está implícito en cada respuesta de los controladores.

//./src/app.module.ts
import { APP_INTERCEPTOR } from '@nestjs/core';
import { ResponseInterceptor } from '@tresdoce-nestjs-toolkit/response-parser';

@Module({
  //...
  providers: [
    //...
    {
      provide: APP_INTERCEPTOR,
      useClass: ResponseInterceptor,
    },
    //...
  ],
  //...
})
export class AppModule {}

🖥 Respuesta

Single entity response

{
  "id": 1,
  "name": "juan",
  "lastname": "perez"
}

Multiple entity response

{
  "data": [
    {
      "id": 1,
      "name": "juan",
      "lastname": "perez"
    },
    {
      "id": 2,
      "name": "jose",
      "lastname": "gonzalez"
    }
    //...
  ]
}

Propagación de Headers

Para realizar la propagación de headers en la respuesta, solo se requiere agregar la propiedad propagateHeaders en la configuración centralizada, esta propiedad admite un array de strings que puede ser configurada desde variables de entorno como un string separado por comas.

//./src/config/configuration.ts
import { Typings } from '@tresdoce-nestjs-toolkit/core';
import { registerAs } from '@nestjs/config';

export default registerAs('config', (): Typings.AppConfig => {
  return {
    //...
    server: {
      //...
      propagateHeaders: process.env.PROPAGATE_HEADERS
        ? process.env.PROPAGATE_HEADERS.split(',')
        : [],
      //...
    },
    //...
  };
});
#.env
#...
PROPAGATE_HEADERS=x-custom-header-1,x-custom-header-2,x-custom-header-n
#...

📄 Changelog

Todos los cambios notables de este paquete se documentarán en el archivo Changelog.


1.1.4

4 months ago

1.0.0

9 months ago

0.4.3-beta.1

10 months ago

0.4.3-beta.0

10 months ago

1.1.0-beta.2

9 months ago

1.1.3-beta.0

6 months ago

1.1.0-beta.1

9 months ago

1.1.1-beta.0

8 months ago

1.1.0-beta.0

9 months ago

1.1.0-beta.5

9 months ago

1.1.0-beta.4

9 months ago

1.1.0-beta.3

9 months ago

1.1.2-beta.0

6 months ago

1.1.1

8 months ago

1.1.0

9 months ago

0.4.2-beta.1

10 months ago

0.4.2-beta.2

10 months ago

0.4.2-beta.0

10 months ago

1.1.3

6 months ago

1.1.2

6 months ago

0.4.4-beta.0

9 months ago

1.0.0-beta.2

9 months ago

1.0.0-beta.0

9 months ago

1.0.0-beta.1

9 months ago

0.4.3

10 months ago

0.4.2

10 months ago

0.4.0-beta.0

12 months ago

0.4.0-beta.1

12 months ago

0.4.0-beta.2

12 months ago

0.4.0-beta.3

12 months ago

0.4.0-beta.4

12 months ago

0.4.1

12 months ago

0.4.0

12 months ago

0.3.1

1 year ago

0.3.1-beta.0

1 year ago

0.3.0

1 year ago

0.3.0-beta.0

1 year ago

0.2.3-beta.0

1 year ago

0.2.4-beta.0

1 year ago

0.2.3

1 year ago

0.2.4

1 year ago

0.2.2

1 year ago

0.2.1

2 years ago

0.2.0

2 years ago

0.2.0-beta.0

2 years ago

0.1.0

2 years ago

0.1.0-beta.2

2 years ago

0.1.1-beta.0

2 years ago

0.1.1

2 years ago

0.1.0-beta.1

2 years ago

0.1.0-beta.0

2 years ago