Sempre que tento cadastrar um atendimento com a cliente "juliana" (ou qualquer outro nome acima de 5 caracteres), recebo como resposta um erro 400 do Postman.
[
{
"nome": "cliente",
"valido": false,
"mensagem": "Cliente deve ter pelo menos cinco caracteres"
}
]
Não tenho problemas com a validação de datas. Já peguei o código do final dessa aula no github mas não consigo achar o problema dessa lógica.
const moment = require('moment')
const conexao = require('../infraestrutura/conexao')
class Atendimento {
adiciona(atendimento, res) {
const dataCriacao = moment().format('YYYY-MM-DD HH:mm:ss')
const data = moment(atendimento.data, 'DD/MM/YYYY').format(
'YYYY-MM-DD HH:MM:SS'
)
const dataEhValida = moment(data).isSameOrAfter(dataCriacao)
const clienteEhValido = atendimento.cliente.lenght >= 5
const validacoes = [
{
nome: 'data',
valido: dataEhValida,
mensagem: 'Data deve ser maior ou igual à data atual',
},
{
nome: 'cliente',
valido: clienteEhValido,
mensagem: 'Cliente deve ter pelo menos cinco caracteres',
},
]
const erros = validacoes.filter((campo) => !campo.valido)
const existemErros = erros.length
if (existemErros) {
res.status(400).json(erros)
} else {
const atendimentoDatado = { ...atendimento, dataCriacao, data }
const sql = 'INSERT INTO Atendimentos SET ?'
conexao.query(sql, atendimentoDatado, (err, result) =>
err ? res.status(400).json(err) : res.status(201).json(result)
)
}
}
}
module.exports = new Atendimento()