Boa noite Teoricamente o método isSameOrAfter da biblioteca MomentJS deveria aceitar datas futuras e a data de hoje. Por exemplo, se hoje é dia 22/12/2020 posso marcar um atendimento para datas futuras ou para 22/12/2020. Quando entro com datas futuras não há problemas contudo, quanto insiro a data do dia em vigor, recebo o erro de data inválida. Não consegui identificar nada de errado no meu código. Vejam se vocês encontram algum erro por gentileza.
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.length >= 5;
const validacoes = [
{
nome: 'data',
valido: dataEhValida,
mensagem: 'Data deve ser maior ou igual a atual'
},
{
nome: 'cliente',
valido: clienteEhValido,
mensagem: 'O nome do cliente deve ter pelo menos 5 caracteres'
}
]
const erros = validacoes.filter(campo => !campo.valido);
const existemErros = erros.length; //Se = 0, não há erros, pois 0 é false
if(existemErros){
res.status(400).json(erros);
} else {
const atendimentoDatado = {...atendimento, data, dataCriacao,};
const sql = 'INSERT INTO Atendimentos SET ?';
conexao.query(sql, atendimentoDatado, (erro, resultados) =>{
if(erro){
res.status(400).json(erro);
} else {
res.status(201).json(resultados);
}
})
}
}
}
module.exports = new Atendimento;