Это часть моего Auth.js
файла. Пользовательская переменная возвращает неопределенное значение.
//@route GET /auth
//@desc gets auth user
//@access Public
router.get('/', auth, async (req, res) => {
//res.send('Auth route');
try {
console.log(req.user.id);
const user = await User.getUserById(req.user.id, res); //gets firstname lastname email
console.log(user, 'after');
} catch (err) {
console.error(err.message);
res.status(500).send('Server error');
}
});
Я пытаюсь сослаться из файла Users. js, который представляет собой модель и содержит следующую функцию, которую я использую.
User.getUserById = async function (req, res) {
console.log(req, 'here');
await sql.query('Select * from guilds.users where id =($1)', [req], function (
err,
resp
) {
if (err) {
console.log('error: ', err);
res.status(400);
} else {
//console.log(resp.rows, resp.rows.length);
if (resp.rows.length === 0) {
res.status(400).send('User doesnt exist');
} else {
res.status(200).send(resp.rows);
}
}
});
};
Я использую почтальон для проверки моей конечной точки, и мой ответ:
[
{
"id": 49,
"first_name": "john",
"last_name": "doe",
"username": null,
"phonenum": null,
"description": null,
"borrower": null,
"lender": null,
"online": null,
"dominion_id": null,
"creation_date": "2020-04-27T04:00:00.000Z",
"profile_picture": null,
"rating": null,
"payment_id": null,
"deleted": null,
"email": "john45@gmail.com"
}
]
В конечном итоге я хотел бы вернуть: res.json(user)
в server
. Но когда я console.log(user)
. Я получаю: неопределено.
ИДК, как лучше всего это делать в PostgreSQL
и node/express
, и если что я делаю неправильно?