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

PagamentoDao erro no construtor ao salvar

Ao fazer a chamada chamada no terminal para salvar o pagamento recebo o erro no console da chamada:

TypeError: app.persistencia.PagamentoDao is not a constructor

E no console do servidor:

TypeError: app.persistencia.PagamentoDao is not a constructor
    at /home/jose/cursos/webservice_node/controllers/pagamentos.js:14:24

O conteúdo da referida linha é:

  app.post('/pagamentos/pagamento', function(req, res){
    var pagamento = req.body;
    console.log('processando requisicao de um novo pagamento');
    pagamento.status = 'CRIADO';
    pagamento.data = new Date;

    var connection = app.persistencia.connectionFactory();
    var pagamentoDao = new app.persistencia.PagamentoDao(connection); 

    pagamentoDao.salva(pagamento, function(erro, resultado){
      console.log('Pagamento criado');
      res.json(pagamento);
    });

O que pode estar ocorrendo?

3 respostas

Wllyssys. Tudo bom?

Você pode adicionar o código do seu arquivo PagamentoDao.js? Acho que o erro está nele :-)

function PagamentoDao(connection) {
  this._connection = connection;
}

PagamentoDao.prototype.salva = function(pagamento, callback) {
  this._connection.query('INSERT INTO pagamentos SET ?', pagamento, callback);
}

PagamentoDao.prototype.lista = function(callback) {
  this._connection.query('select * from pagamentos', callback)
}

PagamentoDao.prototype.buscaPorId = function(id, callback) {
  this._connection.query("select * from pagamentos where id = ?", id, callback);
}
solução!

Tente colocar no final do PagamentoDao.js:

module.exports = () => PagamentoDao