Как реализовать функцию получения пользователя из cookies?
мне надо чтобы при заходе на сайт, в случае если у пользователя будут файлы cookies, то с помощью этих cookies back end будет находить пользователя (по параметрам логина и пароля), и в случае если такой пользователь существует передавать его на front end. Я сделал функцию getUser где я брал cookies и находил по ним пользователя а потом возвращал его (то есть return) вроде бы он нашелся, и отображается в консоли, но сторона которая вызвала функцию получила undefined, что также показано в консоли. Подскажите пожалуйста как стоит правильно реализовать подобную функцию либо поправить мою функцию.
server.js:
const express = require("express")
const app = express()
const { MongoClient } = require("mongodb")
const ejs = require("ejs")
const url = require("./config/url").url
const cookieParser = require("cookie-parser")
const port = 3000
const client = new MongoClient(url)
const uep = express.urlencoded({extended: false});
app.set("view engine", "ejs")
app.use(express.static("public"))
app.use(cookieParser("secret key"))
async function main() {
try {
await client.connect();
const db = client.db("mainApp")
const collections = {
users: db.collection("users")
}
require("./index")(app, collections, uep)
}
catch(err) {
console.log(err)
}
finally {
return "Connected succefuly to db server!"
}
}
app.listen(port, () => {
main().then(console.log)
console.log(`App has been started on port ${port}!`)
})
index.js:
const Routes = require("./routes")
module.exports = function(app, collections, uep) {
Routes(app, collections, uep)
}
routes.js:
module.exports = function(app, collections, uep) {
const users = collections.users
const urlencodedParser = uep
async function getUser (req, res) {
const cookies = req.cookies["account"]
if(!cookies) {
console.log("cookies is not defined", cookies)
}
else {
const result = await users.findOne(cookies, (err) => {
if (err) { console.log(err) }
})
return result
}
}
app.get("/", (req, res) => {
const user = getUser(req, res)
console.log("user: ", user)
res.render("index", {user: user})
})
}