From 0a76b6843fc774112a94a14ca528d162edea11e1 Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Wed, 29 Nov 2023 15:02:44 +0100 Subject: [PATCH] refs #5878 feat: approach error-handler middleware --- loopback/locale/es.json | 8 ++++++-- loopback/server/middleware/error-handler.js | 15 ++++++++++++++- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/loopback/locale/es.json b/loopback/locale/es.json index 6ce4f72bc..cf5998e9d 100644 --- a/loopback/locale/es.json +++ b/loopback/locale/es.json @@ -334,7 +334,6 @@ "countryFk cannot be empty": "countryFk cannot be empty", "Model is not valid": "El campo \" {{key}}\" no es válido", "Property is not defined in this model": "La propiedad que ha modificado no existe", - "postcode": "Código postal", "postCode": "Código postal", "fi": "NIF/CIF", "nif": "NIF/CIF", @@ -348,5 +347,10 @@ "healthRegister":"Registro sanitario", "sageTaxTypeFk":"Tipo de impuesto Sage", "sageTransactionTypeFk":"Tipo de transacción Sage", - "sageWithholdingFk" : "Sage con tenencia" + "sageWithholdingFk" : "Sage con tenencia", + "Cannot past travels with entries": "No se pueden pasar envíos con entradas", + "It was not able to remove the next expeditions:": "No se pudo eliminar las siguientes expediciones: {{expeditions}}", + "Field are invalid": "El campo {{tag}} no es válido", + "postcode": "Código postal" } + diff --git a/loopback/server/middleware/error-handler.js b/loopback/server/middleware/error-handler.js index 725826ae7..0c53d9e8b 100644 --- a/loopback/server/middleware/error-handler.js +++ b/loopback/server/middleware/error-handler.js @@ -1,6 +1,9 @@ const UserError = require('../../util/user-error'); const logToConsole = require('strong-error-handler/lib/logger'); - +const validations = [{ + validation: message => String(message).startsWith('Value is not'), + message: ({__: $t, body}) => $t('Field are invalid', {tag: $t(Object.keys(body)[0])}) +}]; module.exports = function() { return function(err, req, res, next) { // Thrown user errors @@ -10,6 +13,16 @@ module.exports = function() { } // Validation errors + if (err.statusCode == 400) { + try { + validations.forEach(validation => { + err.message = validation.validation(err.message) && validation.message(req); + }); + + return next(err); + } catch (e) { + } + } if (err.statusCode == 422) { try { let code;