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

app is undefined

quando tento acessar o app dentro da rota de promocoes eu recebo um undefined, consegue me explicar a solução ou o porque a rota funciona mas dentro dela o objeto app não existe.

import * as express from 'express';

import db from '../infra/models/index';
import { ProdutosInstance } from '../infra/models/ProdutosModels';

class Promocoes {
    private app: express.Application;
    constructor(app: express.Application) {
        this.app = app;
        this.homeRotas();
    }

    private homeRotas(): void {
        this.app.get('/promocoes/form', (req: express.Request, res: express.Response): void => {

            db.Produtos.findAll().then((produtos: ProdutosInstance[]) => {
                res.render('promocoes/form', {lista: produtos});
            })
            .catch((err) => {console.log(err)});
        });

        this.app.post("/promocoes",function(req,res){
            var promocao = req.body;
            console.log(promocao);
            this.app.get('io').emit('novaPromocao',promocao);                    
  res.redirect('promocoes/form');
        });

    }
}

export default Promocoes;
1 resposta
solução!

Já consegui resolver, era por causa de ordem de execução por que não estava usando o express-load.