/* Middleware que remove o campo "region" quando o campo "city" está ativo nos filtros. Devido à limitações na tabela de dados, quando ambos campos estão ativos o filtro por "região" funciona incorretamente. */ module.exports = function expensesParser(req, res, next) { if (req.query && req.query.filter) { const jsonString = `{${req.query.filter.replace(/(\w+):/g, '"$1":')}}`; const obj = JSON.parse(jsonString); if ("city" in obj && "region" in obj) { delete obj.region; const customString = Object.entries(obj) .map(([key, value]) => `${key}:"${value}"`) .join(','); req.query.filter = customString; } } next(); };