params.pipe.ts 660 B

123456789101112131415161718192021222324252627
  1. import {
  2. BadRequestException,
  3. HttpStatus,
  4. ValidationPipe,
  5. type ValidationPipeOptions,
  6. } from '@nestjs/common';
  7. class ParamsValidationPipe extends ValidationPipe {
  8. constructor(options: ValidationPipeOptions = {}) {
  9. super({
  10. errorHttpStatusCode: HttpStatus.BAD_REQUEST,
  11. exceptionFactory: (errors) => {
  12. const message = Object.values(errors[0].constraints)[0];
  13. return new BadRequestException({
  14. message,
  15. status: HttpStatus.BAD_REQUEST,
  16. });
  17. },
  18. forbidNonWhitelisted: true,
  19. transform: true,
  20. whitelist: true,
  21. ...options,
  22. });
  23. }
  24. }
  25. export { ParamsValidationPipe };