Middleware da tanımlanan değeri router.post('/blabla') fonksiyonun içinde kullanmak.
//auth.mid.ts
import {verify} from "jsonwebtoken"
import { HTTP_UNAUTHORIZED } from "../constant/http_status"
import {Request, Response, NextFunction} from 'express'
const authController = (req: Request|any, res: Response, next: NextFunction) => {
const token = req.headers.access_token as string
if(!token) return res.status(HTTP_UNAUTHORIZED).send()
verify(token,process.env.JWT_SECRET!,(response, err) => {
if(err){
return res.sendStatus(403)
}
req.user = response
next()
})
}
export default authController
//order.router.ts
import {Request, Response, Router} from "express"
import asyncHandler from 'express-async-handler'
import { HTTP_BAD_REQUEST } from "../constant/http_status"
import { OrderModel } from "../models/order.model"
import { OrderStatus } from "../constant/order_status"
import authController from '../middlewares/auth.mid'
const router = Router()
router.use(authController)
router.post('/create',asyncHandler(async(req:Request|any, res:Response) => {
const requestOrder = req.body
if(requestOrder.items.length <=0 ){
res.status(HTTP_BAD_REQUEST).send('Sipariş boş.')
return
}
await OrderModel.deleteOne({
user: req.user.id,
status: OrderStatus.NEW
})
const newOrder = new OrderModel({...requestOrder,user: req.user.id})
await newOrder.save()
res.send(newOrder)
}))
export default router
//Not: req.user.id bu değeri kullanmak istiyorum.
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (0)
Henüz kimse cevap yazmadı. İlk cevap yazan sen ol!