Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Não gerou erro com data inválida

Fiz os tratamentos para a data, e tentei mandar alguns caracteres. A inserção aconteceu, retornando 201, mesmo apresentando erro "invalid date" no console. Acredito que seja semelhante a um caso anterior, já fechado por ultrapassar 4 semanas.

Segue meu código:

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 atendimentoDatado = {...atendimento, dataCriacao, data}
        const sql = 'insert into ATENDIMENTOS set ?'

        conexao.query(sql, atendimentoDatado, (erro, resultados) => {
            if (erro) {
                res.status(400).json(erro)
            } else {
                console.log(sql)
                console.log(atendimentoDatado)
                res.status(201).json(resultados)
            }
        }) 
    }
}

module.exports = new Atendimento

No meu caso, obtive status 201, e no console apareceu o seguinte: insert into ATENDIMENTOS set ? { cliente: 'Rose', pet: 'Pretinha', servico: 'Corte', data: 'Invalid date', status: 'Pendente', observacoes: 'Já tem outro atendimento, combinar', dataCriacao: '2021-03-05 09:29:09' }

Desde já, ficarei muito grato se puderem avaliar em qual ponto errei.

2 respostas
solução!

como você não validou o valor da variável data e como não ocorre erros na consulta SQL por causa disso, o comportamento será esse mesmo.

Creio que, pra não permitir isso, você precisa de uma etapa de validação antes da linha do conexa.query ..., como consta no repositório do curso

Eu ia perguntar o que pode ter ocorrido. Mas eu segui as aulas e a parte onde valida a data não passou. Não sei se pulou o vídeo ou que aconteceu. Mas esta parte não vi rsrss..

Obrigado vou atualizar aqui!