Galera, eu fazendo a aula 2 do curso e estou com o seguinte erro
app.persistencia.PagamentoDao is not a constructor, já olhei as outras dúvidas e não to conseguindo acertar, alguma luz?
Vou deixar os códigos das classes:
PagamentoDao.js
function PagamentoDao(connection) {
this._connection = connection;
}
PagamentoDao.prototype.salva = function(pagamento,callback) {
this._connection.query('INSERT INTO pagamentos SET ?', pagamento, callback);
}
PagamentoDao.prototype.buscaPorId = function (id,callback) {
this._connection.query("select * from pagamentos where id = ?",[id],callback);
}
module.exports = function() {
return PagamentoDao;
}
connectionFactory.js
var mysql = require('mysql');
function createDBConnection(){
return mysql.createConnection({
host: 'localhost',
user: 'root',
password: '',
database: 'payfast'
});
}
module.exports = function() {
return createDBConnection;
}
Pagamentos.js
module.exports = function (app) {
app.get('/pagamentos', function (req,res) {
console.log('Recebendo requisição de teste');
res.send('Ok.');
});
app.post('/pagamentos/pagamento',function (req, res) {
var pagamento = req.body;
console.log('processando uma requisição 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 (error, resultado) {
console.log('pagamento criado');
res.json(pagamento);
})
});
}