input-data-validator
Advanced tools
+26
-13
@@ -50,16 +50,29 @@ /** @ignore */ const handlebars = require('handlebars') | ||
| function _parseValue (field, value) { | ||
| if (field.type.key === 'STRING') { return Sequelize.Validator.toString(value) } | ||
| if (field.type.key === 'INTEGER') { return Sequelize.Validator.toInt(value) } | ||
| if (field.type.key === 'FLOAT') { return Sequelize.Validator.toFloat(value) } | ||
| if (field.type.key === 'BOOLEAN') { return Sequelize.Validator.toBoolean(value) } | ||
| if (field.type.key === 'DATE') { return Sequelize.Validator.toDate(value) } | ||
| if (field.type.key === 'STRING') { return Sequelize.Validator.toString(value + '') } | ||
| if (field.type.key === 'TEXT') { return Sequelize.Validator.toString(value + '') } | ||
| if (field.type.key === 'INTEGER') { return Sequelize.Validator.toInt(value + '') } | ||
| if (field.type.key === 'FLOAT') { return Sequelize.Validator.toFloat(value + '') } | ||
| if (field.type.key === 'BOOLEAN') { return Sequelize.Validator.toBoolean(value + '') } | ||
| if (field.type.key === 'DATE') { return Sequelize.Validator.toDate(value + '') } | ||
| if (field.type.key === 'DATEONLY') { return Sequelize.Validator.toString(value + '') } | ||
| if (field.type.key === 'TIME') { return Sequelize.Validator.toString(value + '') } | ||
| if (field.type.key === 'JSON') { return JSON.parse(value) } | ||
| if (field.type.key === 'JSONB') { return JSON.parse(value) } | ||
| if (field.type.key === 'UUID') { return Sequelize.Validator.toString(value + '') } | ||
| if (field.type.key === 'ARRAY') { | ||
| const values = [] | ||
| if (field.type.type.key === 'STRING') for (let i in value) { values.push(Sequelize.Validator.toString(value[i])) } | ||
| if (field.type.type.key === 'INTEGER') for (let i in value) { values.push(Sequelize.Validator.toInt(value[i])) } | ||
| if (field.type.type.key === 'FLOAT') for (let i in value) { values.push(Sequelize.Validator.toFloat(value[i])) } | ||
| if (field.type.type.key === 'BOOLEAN') for (let i in value) { values.push(Sequelize.Validator.toBoolean(value[i])) } | ||
| if (field.type.type.key === 'DATE') for (let i in value) { values.push(Sequelize.Validator.toDate(value[i])) } | ||
| if (field.type.type.key === 'STRING') for (let i in value) { values.push(Sequelize.Validator.toString(value[i] + '')) } | ||
| if (field.type.type.key === 'TEXT') for (let i in value) { values.push(Sequelize.Validator.toString(value[i] + '')) } | ||
| if (field.type.type.key === 'INTEGER') for (let i in value) { values.push(Sequelize.Validator.toInt(value[i]) + '') } | ||
| if (field.type.type.key === 'FLOAT') for (let i in value) { values.push(Sequelize.Validator.toFloat(value[i] + '')) } | ||
| if (field.type.type.key === 'BOOLEAN') for (let i in value) { values.push(Sequelize.Validator.toBoolean(value[i] + '')) } | ||
| if (field.type.type.key === 'DATE') for (let i in value) { values.push(Sequelize.Validator.toDate(value[i] + '')) } | ||
| if (field.type.type.key === 'DATEONLY') for (let i in value) { values.push(Sequelize.Validator.toString(value[i] + '')) } | ||
| if (field.type.type.key === 'TIME') for (let i in value) { values.push(Sequelize.Validator.toString(value[i] + '')) } | ||
| if (field.type.type.key === 'JSON') for (let i in value) { values.push(JSON.parse(value[i])) } | ||
| if (field.type.type.key === 'JSONB') for (let i in value) { values.push(JSON.parse(value[i])) } | ||
| if (field.type.type.key === 'UUID') for (let i in value) { values.push(Sequelize.Validator.toString(value[i] + '')) } | ||
| return values | ||
| } | ||
| return value | ||
| } | ||
@@ -82,5 +95,5 @@ | ||
| try { | ||
| const dataToValidate = {} | ||
| if (typeof value !== 'undefined') { dataToValidate[fieldName] = value } | ||
| await field.validator.build(dataToValidate).validate() | ||
| const MODEL = field.validator.build() | ||
| MODEL.dataValues[fieldName] = value | ||
| await MODEL.validate({ fields: [fieldName] }) | ||
| value = (typeof value !== 'undefined') ? _parseValue(field, value) : undefined | ||
@@ -87,0 +100,0 @@ } catch (err) { |
+1
-1
| { | ||
| "name": "input-data-validator", | ||
| "version": "1.0.9", | ||
| "version": "1.1.0", | ||
| "description": "Valida los datos de entrada de una ruta de un servicio web creado con express.", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
21250
6.2%416
3.23%