add express-async-handler
This commit is contained in:
父節點
22dc49adcc
當前提交
e2e1f373c2
@ -24,6 +24,7 @@
|
||||
"cors": "^2.8.5",
|
||||
"dotenv": "^10.0.0",
|
||||
"express": "^4.17.1",
|
||||
"express-async-handler": "^1.1.4",
|
||||
"express-jwt": "^6.0.0",
|
||||
"express-validator": "^6.12.1",
|
||||
"jsonwebtoken": "^8.5.1",
|
||||
|
@ -6,6 +6,7 @@ import {body, param, query} from "express-validator"
|
||||
import {Container} from "typedi"
|
||||
import {AdminService} from "../services/admin-service"
|
||||
import {PostModel} from "../models/post-model"
|
||||
import expressAsyncHandler from "express-async-handler"
|
||||
|
||||
let adminService = Container.get(AdminService)
|
||||
let postModel = Container.get(PostModel)
|
||||
@ -20,10 +21,10 @@ adminRouter.use((req: express.Request, res: express.Response, next) => {
|
||||
adminRouter.get('/list/:status',
|
||||
param('status').isIn([1, 2, 3]).withMessage('Post状态仅支援1,2,3'),
|
||||
query('page').default(1).isInt({min: 1}).withMessage('页码必须>=1'),
|
||||
async (req: express.Request, res: express.Response) => {
|
||||
expressAsyncHandler(async (req: express.Request, res: express.Response) => {
|
||||
if (hasValidationErrors(req, res)) return
|
||||
res.json(await adminService.list(req.params.status as any as TPostStatus, req.query.page as any as number))
|
||||
}
|
||||
})
|
||||
)
|
||||
adminRouter.post('/setStatus',
|
||||
body('id').isInt().bail().custom(async input => {
|
||||
@ -33,10 +34,10 @@ adminRouter.post('/setStatus',
|
||||
}
|
||||
}),
|
||||
body('status').isIn([1, 2, 3]).withMessage('Post状态仅支援1,2,3'),
|
||||
async (req: express.Request, res: express.Response) => {
|
||||
expressAsyncHandler(async (req: express.Request, res: express.Response) => {
|
||||
if (hasValidationErrors(req, res)) return
|
||||
res.json(await adminService.setStatus(req.body.id, req.body.status))
|
||||
}
|
||||
})
|
||||
)
|
||||
|
||||
export {adminRouter}
|
||||
|
@ -6,6 +6,7 @@ import {body, oneOf, query} from "express-validator"
|
||||
import * as Validator from "validator"
|
||||
import {hasValidationErrors} from "../includes"
|
||||
import {JWTUserPayload} from "../types"
|
||||
import expressAsyncHandler from "express-async-handler"
|
||||
|
||||
let postService = Container.get(PostService)
|
||||
|
||||
@ -18,17 +19,17 @@ postRouter.post('/submit',
|
||||
body('content').optional().notEmpty().withMessage('请输入内容')
|
||||
.escape(),
|
||||
body('image').optional().isURL({host_whitelist: [/.*\.360buyimg\.com/]}).withMessage('仅支援*.360buyimg.com下的图片'),
|
||||
async (req: express.Request, res: express.Response) => {
|
||||
expressAsyncHandler(async (req: express.Request, res: express.Response) => {
|
||||
if (hasValidationErrors(req, res)) return
|
||||
res.json(await postService.submit(req.user as JWTUserPayload, req.body.content, req.body.image))
|
||||
}
|
||||
})
|
||||
)
|
||||
postRouter.get('/listPublished',
|
||||
query('page').default(1).isInt({min: 1}).withMessage('页码必须>=1'),
|
||||
async (req: express.Request, res: express.Response) => {
|
||||
expressAsyncHandler(async (req: express.Request, res: express.Response) => {
|
||||
if (hasValidationErrors(req, res)) return
|
||||
res.json(await postService.listPublished(req.query.page as any as number))
|
||||
}
|
||||
res.json(await postService.listPublished(Number(req.query.page)))
|
||||
})
|
||||
)
|
||||
|
||||
export {postRouter}
|
||||
|
@ -5,6 +5,7 @@ import {UserService} from "../services/user-service"
|
||||
import {body, validationResult,} from "express-validator"
|
||||
import {hasValidationErrors} from "../includes"
|
||||
import {JWTUserPayload} from "../types"
|
||||
import expressAsyncHandler from "express-async-handler"
|
||||
|
||||
let userService = Container.get(UserService)
|
||||
|
||||
@ -12,13 +13,13 @@ let userRouter = express.Router()
|
||||
userRouter.post('/login',
|
||||
body('username').notEmpty().withMessage('请输入使用者名称'),
|
||||
body('password').notEmpty().withMessage('请输入密码'),
|
||||
async (req: express.Request, res: express.Response) => {
|
||||
expressAsyncHandler(async (req: express.Request, res: express.Response) => {
|
||||
if (hasValidationErrors(req, res)) return
|
||||
res.json(await userService.login(req.body.username, req.body.password))
|
||||
}
|
||||
})
|
||||
)
|
||||
userRouter.get('/me',async (req:express.Request,res:express.Response)=>{
|
||||
userRouter.get('/me',expressAsyncHandler(async (req:express.Request,res:express.Response)=>{
|
||||
res.json(await userService.me(req.user as JWTUserPayload))
|
||||
})
|
||||
}))
|
||||
|
||||
export {userRouter}
|
||||
|
載入中…
x
新增問題並參考
Block a user