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

Problema com Express

Eu tenho uma dúvida em como associar uma função NODE.JS normal, como uma que faz cálculos de métricas de usuários como a minha, em uma express function para eu poder usar nas rotas da express e assim eu poder ver o retorno dos resultados em JSON. Essa é a minha função que faz a busca de usuários e me retorna os dados deles:

const calculate_followers_week = (req, res) => {
    let user_id = req.params.id;
    UserHistorySchema.find(user_id?{_id: mongoose.Types.ObjectId(user_id)}:{}, {'history.created_at':1, 'history.meta.indicators':1})
    .lean()
    .exec()
    .then(data => {
        res.status(200).json(data);
    })
    .catch(err => {
        res.status(400).json(err);
    })
}

como eu associo com essa função por exemplo:

function getUserFollowedBy (user) {

    let yesterday = moment().subtract(1, 'days');

    let difference = 0;
    for(i = 0; i < user.length; i++) {
        if(moment(user[i].created_at).isSameOrAfter(yesterday, 'days')) {

            difference = user[i + 1].meta.indicators.followed_by - user[i].meta.indicators.followed_by;
            console.log(" " + difference);
        } else {}
    }
}
3 respostas

Olá, Iury. Tudo bom?

Eu não entendi muito bem sua dúvida. Você pode me explicar de outra forma? Desculpa cara. :-)

É porque eu tenho essa função de calculo dentro de uma pasta modulo e tenho as funções do express dentro da pasta de rotas, a minha duvida é: Como eu consigo colocar essa função de calculo dentro de uma rota? Para quando eu botar res.status(200).json(getUserFollowedBy),por exemplo, e acessar a rota dela aparecer o que tem na função.

Ficou melhor? Realmente não sei explicar melhor que isso, desculpas.

solução!

Eu ja resolvi aqui, era so chamar dentro do .json. :-)