diff --git a/src/libs/middlewares/reqQueryFields.js b/src/libs/middlewares/reqQueryFields.js index 37a377774080c66de4561efb524a88a6e29f96bb..36c33d3805ad9f6718c13e3b350a052adba61d13 100644 --- a/src/libs/middlewares/reqQueryFields.js +++ b/src/libs/middlewares/reqQueryFields.js @@ -11,10 +11,11 @@ const nullFields = [ "Não classificada" ] -function parseWhereValue(type, value) { +function parseWhereValue(type, value, relation) { if(type === 'integer') return parseInt(value, 10); if(type === 'double') return parseFloat(value); - if(type === 'string') return '%'+value+'%'; + if(type === 'string' && relation === 'LIKE') return '%'+value+'%'; + if(type === 'string') return value; if(type === 'boolean') { if(value === null || typeof value === 'boolean') { return value; @@ -306,14 +307,14 @@ class ReqQueryFields { let whereString = '('; for(let i = 0; i < whereValue.length; ++i) { whereString += whereField; - whereValues.push(parseWhereValue(value.where.type, whereValue[i])); + whereValues.push(parseWhereValue(value.where.type, whereValue[i], value.where.relation)); if(i < whereValue.length-1) { whereString += ' OR '; } } whereString += ')'; } else { - whereValues.push(parseWhereValue(value.where.type, whereValue)); + whereValues.push(parseWhereValue(value.where.type, whereValue, value.where.relation)); } }); @@ -326,7 +327,7 @@ class ReqQueryFields { let arrayWhereValues = []; for(let i = 0; i < whereValue.length; ++i) { let curRelation = value.where.relation; - let curValue = parseWhereValue(value.where.type, whereValue[i]) + let curValue = parseWhereValue(value.where.type, whereValue[i],value.where.relation) if (isNull(k, curValue) ) { curValue = null; curRelation = "is"; @@ -341,7 +342,7 @@ class ReqQueryFields { whereString += ')'; sql.where(whereString, ...arrayWhereValues); } else { - let curValue = parseWhereValue(value.where.type, whereValue) + let curValue = parseWhereValue(value.where.type, whereValue, value.where.relation) let curRelation = value.where.relation; if (isNull(k, curValue) ) {