Bom dia.
Estou com um problema na execução do método query, conforme erro abaixo.
TypeError: Cannot read property 'query' of undefined
    at PagamentoDao.salva (/Users/ycabral/Desktop/Alura/cursoRestAPI/payfast/persistencia/PagamentoDao.js:6:21)
    at app.post (/Users/ycabral/Desktop/Alura/cursoRestAPI/payfast/controllers/pagamentos.js:32:22)Quando eu entro com debug (uso vscode), a connection tem um atributo chamado "state" e aparece como "disconnected". Como posso solucionar?
Seguem os fontes:
PagamentoDao.js
function PagamentoDao( connection ) {
    this._connection = connection;
};
PagamentoDao.prototype.salva = ( pagamento, callback ) => {
    this._connection.query('INSERT into pagamentos set ?', pagamento, callback);
};ConnectionFactory.js
var mysql = require('mysql');
function createDBConnection() {
    return mysql.createConnection( {
      host: 'localhost',
      user: 'root',
      password: 'duda@2015',
      database: 'payfast'
    });
};
module.exports = () => {
    return createDBConnection;
};Função post do pagamento.js:
   app.post("/pagamentos/pagamento", ( req, res ) => {
        var pagamento = req.body;
        req.assert("forma_de_pagamento", "Forma de pagamento é obrigatória.").notEmpty();
        req.assert("valor", "Valor é obrigatório e deve ser um decimal.").notEmpty().isFloat();
        req.assert("moeda", "Moeda é obrigatória e deve ter 3 caracteres").notEmpty().len(3,3);
        var errors = req.validationErrors();
        if (errors){
            console.log("Erros de validação encontrados");
            res.status(400).send(errors);
            return;
        }
        console.log('Processando pagamento...');
        res.send('Processando pagamento...');
        var connection = app.persistencia.ConnectionFactory();
        var pagamentoDao = new app.persistencia.PagamentoDao( connection );
        pagamento.status = "CRIADO";
        pagamento.data = new Date;
        pagamentoDao.salva( pagamento, (exception, result ) => {
            console.log('Pagamento criado: ' + result);
            res.location('/pagamentos/pagamento/' + result.insertId)
            pagamento.id = result.insertId;
            res.send('Pagamento criado: ' + result);
            res.json( pagamento );
        });
    });
};Segundo o erro, ele parece que não está instanciando a Connection... Pois ele dá como "undefined", mas não consegui achar o erro. Poderiam me ajudar, por favor?
 
            