Zmena planu
This commit is contained in:
@@ -1,63 +0,0 @@
|
||||
import { Request, Response, NextFunction } from 'express'
|
||||
import jwt from 'jsonwebtoken'
|
||||
import env from '../config/environment'
|
||||
import { Err, Succ } from '../services/globalService'
|
||||
import User from '../models/User' // uncomment this
|
||||
|
||||
export function requireAuth(req: Request, res: Response, next: NextFunction) {
|
||||
const token = req.cookies.jwt
|
||||
new Err(500, 'uncomment code in authMiddleware before using!')
|
||||
if (token) {
|
||||
jwt.verify(token, env.JWT_SECRET, async (err: any, decodedToken: any) => {
|
||||
if (err) {
|
||||
// console.error(err.message)
|
||||
res.status(401).json(new Err(401, 'user is not authenticated'))
|
||||
}
|
||||
if (!err) {
|
||||
const user = (async () => {
|
||||
if (env.NORK.db.orm) {
|
||||
if (env.NORK.db.orm == 'sequelize') {
|
||||
return await User.findByPk(decodedToken.id)
|
||||
}
|
||||
if (env.NORK.db.orm == 'mongoose') {
|
||||
return await User.findById(decodedToken.id)
|
||||
}
|
||||
} else {
|
||||
return null
|
||||
}
|
||||
})()
|
||||
|
||||
if (user === null) {
|
||||
res.status(401).json(new Err(401, 'user is not authenticated'))
|
||||
return
|
||||
}
|
||||
|
||||
res.locals.user = user
|
||||
new Succ(100, 'user is authenticated')
|
||||
next()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
if (!token) {
|
||||
res.status(401).json(new Err(401, 'user is not authenticated'))
|
||||
}
|
||||
}
|
||||
|
||||
export function requireVerified(req: Request, res: Response, next: NextFunction) {
|
||||
if (res.locals.user._id) {
|
||||
if (res.locals.user.verified) {
|
||||
new Succ(100, 'user is verified')
|
||||
next()
|
||||
return
|
||||
}
|
||||
|
||||
res.status(403).json(new Err(403, 'user is not verified'))
|
||||
return
|
||||
}
|
||||
|
||||
if (!res.locals.user._id) {
|
||||
res.status(401).json(new Err(401, 'user is not authenticated'))
|
||||
return
|
||||
}
|
||||
}
|
@@ -1,16 +0,0 @@
|
||||
import { Request, Response, NextFunction } from 'express'
|
||||
import { validationResult } from 'express-validator'
|
||||
import { Err } from '../services/globalService'
|
||||
|
||||
class Middleware {
|
||||
handleValidationError(req: Request, res: Response, next: NextFunction) {
|
||||
const error = validationResult(req)
|
||||
if (!error.isEmpty()) {
|
||||
new Err(400, error)
|
||||
return res.status(400).json(new Err(400, 'validation error', error.array()[0]))
|
||||
}
|
||||
next()
|
||||
}
|
||||
}
|
||||
|
||||
export default new Middleware()
|
@@ -1,6 +0,0 @@
|
||||
import { Router } from 'express'
|
||||
import { router as sayHiMiddleware } from '../middlewares/sayHiMiddleware'
|
||||
|
||||
export const router = Router()
|
||||
|
||||
// router.use(sayHiMiddleware)
|
@@ -1,9 +0,0 @@
|
||||
import { Router, Request, Response, NextFunction } from 'express'
|
||||
|
||||
export const router = Router()
|
||||
|
||||
router.use((req: Request, res: Response, next: NextFunction) => {
|
||||
console.log('Hi :)')
|
||||
|
||||
next()
|
||||
})
|
Reference in New Issue
Block a user