Opa boa noite Felipe.
Segue abaixo os códigos
arquivo connectionFactory.js
var mysql = require('mysql');
function createDBConnection(){
return mysql.createConnection({
host: 'localhost',
user: 'root',
password: '1234',
port: '3307',
database: 'payfast'
});
}
module.exports = function() {
return createDBConnection;
}
arquivo PagamentoDao.js
function PagamentoDao(connection) {
this._connection = connection
}
PagamentoDao.prototype.salva = function(pagamento, callback) {
this._connection.query('INSERT INTO PAGAMENTOS SET ?', pagamento);
}
PagamentoDao.prototype.lista = function(callback) {
this._connection.query('SELECT * FROM PAGAMENTOS', callback);
}
PagamentoDao.prototype.buscaPorId = function(callback){
this._connection.query("SELECT * FROM PAGAMENTOS WHERE ID = 1");
}
module.exports = function() { return PagamentoDao;};
arquivo pagamento.js
module.exports = function(app){
app.get('/pagamentos', function(req, resp){
console.log('Recebida requisicao de teste na porta 3000.');
resp.send('OK');
});
app.post('/pagamentos/pagamento', function(req, res) {
var pagamento = req.body;
console.log('processando uma 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);
})
res.send(pagamento);
});
}