import { validateJwtToken } from '#util/jwtUtils.js'; import { DbUser } from '#db/schemas/index.js'; /** * @param options {AuthValidationOptions} * @returns {(function(*, *, *): void)|*} */ export function validateAuth(options) { return async function (req, res, next) { var auth = validateJwtToken(req.headers.authorization); if (!auth) { res.status(401).send('Unauthorized'); return; } req.user = await DbUser.findById(auth.id).exec(); req.auth = auth; req = next(); }; } class AuthValidationOptions { roles; }