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

Como extrair token da função javascript

var jwt = require('jsonwebtoken');


const authentic  = (deps) => {
    return {
        authPass :(email, password)=>{
            const {conx} = deps
            return new Promise((resolve, reject)=>{
                conx.query('SELECT id, email FROM user WHERE email = ? AND password = ?' , [ email, password], (err , result)=>{
                    if(err){
                        reject(err)
                    }

                    token = passToken(result) // 2) RECEBO PARAMETRO PARA GERAR TOKEN

                    resolve({result: result , token : token})

                })
            })
        }
    }
}

var token = {}; // VAR GLOBAL TOKEN 

function passToken(result){ // 1) FUNÇÃO QUE GERA O TOKEN
    const {id , email} = result[0];
    var token = jwt.sign({id , email} , 'teste' , {expiresIn: 60 * 60});
    return token;
}

passToken(result) // 3) A FUNÇÃO EXIGE QUE PASSE PARAMETRO ' result 'MAS O MESMO NÃO É 'DEFINIDO' COMO POSSO ESTRAIR O TOKEN DESSA FUNÇÃO SEM PRECISAR CHAMA-LA.

module.exports = authentic;
module.exports.token = token;
1 resposta
solução!

Oi Jonas, tudo bem? Se você não chamar a função, não tem como. A não quer que, alguma outro mecanismo chame e você capture essa chamada.