Meu código está retornando o seguinte erro toda vez que tento executar:
(node:13428) UnhandledPromiseRejectionWarning: Error: ER_EMPTY_QUERY: Query was empty
at Query.Sequence._packetToError (C:\Users\steph\OneDrive\Área de Trabalho\Alura\Rest com NodeJS\nodejs-api-rest\nodejs-api-rest\node_modules\mysql\lib\protocol\sequences\Sequence.js:47:14)
.
.
.
O meu código models/atendimentos é o seguinte:
const moment = require('moment')
const axios = require('axios')
const conexao = require('../Infraestrutura/database/conexao')
const repositorio = require('../repositorios/atendimento')
class Atendimento {
adiciona(atendimento) {
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: 'A data de agendamento deve ser maior ou igual a data 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
if(existemErros) {
return new Promise((resolve, reject) => reject(erros))
} else {
const atendimentoDatado = {...atendimento, DataCriacao, Data}
return repositorio.adiciona(atendimentoDatado)
.then((resultados) => {
const id = resultados.insertId
return {...atendimento, id}
})
}
}
lista(res) {
const sql = 'SELECT * FROM Atendimentos'
conexao.query(sql, (erro, resultados) => {
if(erro) {
res.status(400).json(erro)
} else {
res.status(200).json(resultados)
}
})
}
buscaPorId(id, res) {
const sql = `SELECT * FROM Atendimentos WHERE id=${id}`
conexao.query(sql, async (erro, resultados) => {
const atendimento = resultados[0]
const cpf = atendimento.Cliente
if(erro) {
res.status(400).json(erro)
} else {
const {data} = await axios.get(`http://localhost:8082/${cpf}`)
atendimento.Cliente = data
res.status(200).json(atendimento)
}
})
}
altera(id, valores, res) {
if(valores.Data) {
valores.Data = moment(valores.Data, 'DD/MM/YYYY').format('YYYY-MM-DD HH:MM:SS')
}
const sql = 'UPDATE Atendimentos SET ? WHERE id=?'
conexao.query(sql, [valores, id], (erro, resultados) => {
if(erro) {
res.status(400).json(erro)
} else {
res.status(200).json({...valores, id})
}
})
}
deleta(id, res) {
const sql = 'DELETE FROM Atendimentos WHERE id=?'
conexao.query(sql, id, (erro, resultados) => {
if(erro) {
res.status(400).json(erro)
} else {
res.status(200).json({id})
}
})
}
}
module.exports = new Atendimento()
O meu código da Infraestrutura/database/queries é:
const { query } = require('./conexao')
const conexao = require('./conexao')
const executaQuery = (query, parametros = '') => {
return new Promise((resolve, reject) => {
conexao.query(query, parametros, (erros, resultados, campos) => {
if(erros) {
reject(erros)
} else {
resolve(resultados)
}
})
})
}
module.exports = executaQuery()
Alguém sabe o que pode ter dado de errado?