summary refs log tree commit diff
path: root/src/api/middlewares/authMiddleware.js
blob: 4cdbb516a7355eefb4823a25c275ba50e001096f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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;
}