Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

TypeError: Cannot read property 'save' of undefined at app.post

Semelhante a dúvida do amigo ali de baixo, não consigo prosseguir devido a este erro do título, quando executo o comando curl no terminal. Ele conseguiu mas não disse como, então alguém poderia me ajudar?

Segue o código:

Controller

module.exports = (app) => {
  app.get('/payments', (req, res) => {
    console.log('Recebida Requisição de Pagamentos...')
    res.send('Ok!')
  })

  app.post('/payments/payment', (req, res) => {
    let payment = req.body
    console.log('Processando uma Requisição de um novo Pagamento...')

    payment.status = 'created'
    payment.date = new Date;

    let connection = app.db.connectionFactory()
    let paymentDao = app.db.paymentDao(connection)

    paymentDao.save(payment, (error, result) => {
      console.log('Pagamento Criado!')
      res.json(payment)
    })

    res.send('Ok!')
  })
}

DAO

function paymentDao(connection) {
  this._connection = connection
}

paymentDao.prototype.save = (payment, callback) => {
  this._connection.query('INSERT INTO payments SET ?', payment, callback)
}

paymentDao.prototype.list = (callback) => {
  this._connection.query('SELECT * FROM payments', callback)
}

paymentDao.prototype.searchId = (id, callback) => {
  this._connection.query('SELECT * FROM payments WHERE id = ?', [id], callback)
}

module.exports = () => {
  return paymentDao
}
1 resposta
solução!

Thiago boa noite. é preciso adicionar o new ao instanciar o pagamentoDao

    let paymentDao = new app.db.paymentDao(connection)