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

TypeError: Cannot read property 'PaymentDAO' of undefined

Olá pessoal,

Já quebrei a cabeça com isso, mas não consegui encontrar onde estou errando.

Quando tento fazer um POST no banco de dados, para a rota /payments/payment, recebo o seguinte erro:

TypeError: Cannot read property 'PaymentDAO' of undefined

Quando clico no erro, o editor me envia para a linha a seguir:

const paymentDAO = new app.pase.PaymentDAO(connection);

No entanto, já chequei o código todo, inclusive o próprio nome do arquivo, mas não encontrei nada.

Para ajudar a entenderem melhor, coloquei meu código no Github: https://github.com/marcelosdm/payfast-api

Obrigado desde já!

4 respostas
solução!

Boa tarde, Marcelo! Como vai?

Dei uma olhada na estrutura do seu projeto e me parece que vc acabou esquecendo um "r" na linha que citou! O correto seria:

const paymentDAO = new app.parse.PaymentDAO(connection);

Faça essa correção aí e verifique se funciona como esperado!

Grande abraço e bons estudos!

Olá Gabriel,

Muuuuuito obrigado!

Era exatamente esse o problema no meu código. Não é possível que eu fui tão míope esse tempo todo! kkkkkk

Grande abraço!!

PS: Esse curso também vai passar por atualização?

Ops... Na verdade, deu outro erro.

Quando envio tento enviar o seguinte JSON para o banco:

{ "pay_method":"payfast", "value":"10.98", "currency":"BRL", "description":"criando um pagamento" }

Recebo o status 200. Porém, nada é gravado no banco e no console da aplicação é exibida esta mensagem:

` D:\Practice\NodeJS-practice\Alura\payfast\node_modules\mysql\lib\protocol\Parser.js:80 throw err; // Rethrow non-MySQL errors ^

TypeError: "value" argument must not be a number at Function.Buffer.from (buffer.js:186:11) at Object.Auth.token (D:\Practice\NodeJS-practice\Alura\payfast\node_modules\mysql\lib\protocol\Auth.js:29:29) at Handshake.sendCredentials (D:\Practice\NodeJS-practice\Alura\payfast\nodemodules\mysql\lib\protocol\sequences\Handshake.js:99:14) at Handshake.HandshakeInitializationPacket (D:\Practice\NodeJS-practice\Alura\payfast\node_modules\mysql\lib\protocol\sequences\Handshake.js:81:10) at Protocol.parsePacket (D:\Practice\NodeJS-practice\Alura\payfast\nodemodules\mysql\lib\protocol\Protocol.js:278:23) at Parser.write (D:\Practice\NodeJS-practice\Alura\payfast\node_modules\mysql\lib\protocol\Parser.js:76:12) at Protocol.write (D:\Practice\NodeJS-practice\Alura\payfast\node_modules\mysql\lib\protocol\Protocol.js:38:16) at Socket. (D:\Practice\NodeJS-practice\Alura\payfast\node_modules\mysql\lib\Connection.js:91:28) at Socket. (D:\Practice\NodeJS-practice\Alura\payfast\node_modules\mysql\lib\Connection.js:502:10) at emitOne (events.js:116:13) [nodemon] app crashed - waiting for file changes before starting... `

Boa noite, Marcelo! Como vai?

Por nada, sempre que tiver qualquer dúvida é só mandar aqui no fórum!

Em relação ao seu novo problema, o melhor a ser feito é abrir um novo tópico para não misturar tudo. Daí descreva o problema e se possível faça um link de todo o seu projeto para que a pessoa que for te ajudar tentar reproduzir o problema.

Por fim, sobre a atualização do curso, eu não tenho essa informação. Então não sei dizer.

Qualquer coisa é só falar, meu aluno!

Grande abraço e bons estudos!