11import express , { Request , Response } from 'express'
22import { asyncHandler } from '~/lib/async-handler'
3+ import { ConstRole } from '~/lib/constant/seed/role'
34import HttpResponse from '~/lib/http/response'
45import authorization from '../middleware/authorization'
6+ import { permissionAccess } from '../middleware/with-permission'
57import UserService from '../service/user'
68
79const route = express . Router ( )
@@ -10,6 +12,7 @@ const service = new UserService()
1012route . get (
1113 '/' ,
1214 authorization ( ) ,
15+ permissionAccess ( ConstRole . ROLE_ADMIN ) ,
1316 asyncHandler ( async ( req : Request , res : Response ) => {
1417 const { page, pageSize, filtered, sorted } = req . getQuery ( )
1518 const records = await service . findWithRelations ( { page, pageSize, filtered, sorted } )
@@ -21,6 +24,7 @@ route.get(
2124route . get (
2225 '/:id' ,
2326 authorization ( ) ,
27+ permissionAccess ( ConstRole . ROLE_ADMIN ) ,
2428 asyncHandler ( async ( req : Request , res : Response ) => {
2529 const { id } = req . getParams ( )
2630 const record = await service . findByIdWithRelation ( id )
@@ -32,6 +36,7 @@ route.get(
3236route . post (
3337 '/' ,
3438 authorization ( ) ,
39+ permissionAccess ( ConstRole . ROLE_ADMIN ) ,
3540 asyncHandler ( async ( req : Request , res : Response ) => {
3641 const values = req . getBody ( )
3742 const record = await service . create ( values )
@@ -43,6 +48,7 @@ route.post(
4348route . put (
4449 '/:id' ,
4550 authorization ( ) ,
51+ permissionAccess ( ConstRole . ROLE_ADMIN ) ,
4652 asyncHandler ( async ( req : Request , res : Response ) => {
4753 const { id } = req . getParams ( )
4854 const values = req . getBody ( )
@@ -55,6 +61,7 @@ route.put(
5561route . put (
5662 '/restore/:id' ,
5763 authorization ( ) ,
64+ permissionAccess ( ConstRole . ROLE_ADMIN ) ,
5865 asyncHandler ( async ( req : Request , res : Response ) => {
5966 const { id } = req . getParams ( )
6067 await service . restore ( id )
@@ -66,6 +73,7 @@ route.put(
6673route . delete (
6774 '/soft-delete/:id' ,
6875 authorization ( ) ,
76+ permissionAccess ( ConstRole . ROLE_ADMIN ) ,
6977 asyncHandler ( async ( req : Request , res : Response ) => {
7078 const { id } = req . getParams ( )
7179 await service . softDelete ( id )
@@ -77,6 +85,7 @@ route.delete(
7785route . delete (
7886 '/force-delete/:id' ,
7987 authorization ( ) ,
88+ permissionAccess ( ConstRole . ROLE_ADMIN ) ,
8089 asyncHandler ( async ( req : Request , res : Response ) => {
8190 const { id } = req . getParams ( )
8291 await service . forceDelete ( id )
0 commit comments