# All files / nodejs-homework-API/helpers guard.js

100% Statements 11/11
100% Branches 5/5
100% Functions 2/2
100% Lines 11/11

Press n or j to go to the next uncovered block, b, p or k for the previous block.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    221x
    1x
    1x

    1x
    16x
    16x
    16x
    5x

    11x
    11x

    1x
     const passport = require("passport");
    require("../config/passport");
    const chalk = require("chalk");

    const guard = (req, res, next) => {
      passport.authenticate("jwt", { session: false }, (err, user) => {
        const token = req.get("Authorization")?.split(" ")[1];
        if (!user || err || token !== user.token) {
          return res.status(403).json({
            status: "error",
            code: 403,
            data: "Forbidden",
            message: "Access is denied",
          });
        }
        req.user = user;
        return next();
      })(req, res, next);
    };

    module.exports = guard;