const conexao = require('./conexao');
const executaQuery = (query, parametros = '') => {
return new Promise((resolve, reject) => {
conexao.query(query, parametros, (error, resultados, campos) => {
if(error){
reject(error);
}else{
resolve(resultados);
}
});
}); }
module.exports = executaQuery;
const query = require('../infraestrutura/database/queries');
class Atendimento{ adiciona(atendimento){ const sql = 'INSERT INTO atendimentos SET ?'; return query(sql, atendimento); } }
module.exports = new Atendimento;
const axios = require('axios') const moment = require('moment') const conexao = require('../infraestrutura/database/conexao') const repositorio = require('../repositorios/atendimentos');
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: 'Data deve ser maior ou igual a 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) {
console.log("Error desconhecido!");
}else{
const atendimentoDatado = {...atendimento, dataCriacao, data}
return repositorio.adiciona(atendimentoDatado)
.then(resultados => {
const id = resultados.insertId;
return { ...atendimento, id };
})
}
}
app.get('/atendimentos/:id', (req, res) => { const id = parseInt(req.params.id)
Atendimento.buscaPorId(id, res)
})
app.get('/atendimentos/:id', (req, res) => { const id = parseInt(req.params.id)
Atendimento.buscaPorId(id, res)
})