From 24e27c1d9e002db3b8f4afb4a31ad994c0eaad42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Wed, 27 Mar 2019 12:37:11 +0100 Subject: [PATCH] fix: return validation error instead of internal server error previously there was just a validation error inside an internal server error, which made no sense --- src/routes/Route.ts | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/routes/Route.ts b/src/routes/Route.ts index cf2aa2fb..a12a94e7 100644 --- a/src/routes/Route.ts +++ b/src/routes/Route.ts @@ -19,6 +19,7 @@ import { SCRoute, SCValidationErrorResponse, } from '@openstapps/core'; +import {Validator} from '@openstapps/core-tools/lib/validate'; import {Application, Router} from 'express'; import PromiseRouter from 'express-promise-router'; import {ValidationError} from 'jsonschema'; @@ -70,6 +71,9 @@ export function createRoute( route[verb](async (req, res) => { try { + // get the core validator from the app + const validator: Validator = req.app.get('validator'); + // validate request const requestValidation = validator.validate(req.body, routeClass.requestBodyName); @@ -95,13 +99,13 @@ export function createRoute( responseErrors, isTestEnvironment, ); - const internalServerError = new SCInternalServerErrorResponse( + /*const internalServerError = new SCInternalServerErrorResponse( validationError, - isTestEnvironment, - ); - res.status(internalServerError.statusCode); - res.json(internalServerError); - logger.warn(internalServerError); + req.app.get('isTestEnvironment'), + );*/ + res.status(validationError.statusCode); + res.json(validationError); + logger.warn(validationError); return; }