Как реализовать функцию получения пользователя из 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})
    })

}

Ответы (0 шт):