| 12345678910111213141516171819202122232425262728293031323334353637 | const jwt = require('jsonwebtoken')const userModel = require('../model/user.model')const response = require('../utils/responseHandler')module.exports = (req, res, next) => {  const authHeader = req.headers.authorization  const token =    (req.params.token && req.params.token.split(' ')[1]) ||    (authHeader && authHeader.split(' ')[1]) ||    req.cookies['sidali-cookie']  if (!token)    return response.error(res, {      code: 401,      message: 'Token tidak ada',    })  jwt.verify(token, process.env.SECRET, async (err, data) => {    if (err) {      return response.error(res, {        code: 401,        message: 'Unauthorized',      })    }    try {      const user = await userModel.findById(data._id)      req.user = user      next()    } catch (error) {      return response.error(res, {        code: 401,        message: 'Unauthorized',      })    }  })}
 |