1- 'use strict' ;
2-
3- const {
4- LinRouter,
5- routeMetaInfo,
6- adminRequired,
7- NotFound,
8- Failed
9- } = require ( 'lin-mizar' ) ;
10-
11- const { has, set } = require ( 'lodash' ) ;
12-
13- const {
14- DispatchAuthsValidator,
15- RemoveAuthsValidator,
16- UpdateGroupValidator,
17- ResetPasswordValidator,
1+ import { LinRouter , Failed , NotFound } from 'lin-mizar' ;
2+ import {
183 AdminUsersValidator ,
4+ ResetPasswordValidator ,
195 UpdateUserInfoValidator ,
206 NewGroupValidator ,
21- DispatchAuthValidator
22- } = require ( '../../validators/admin' ) ;
23-
24- const {
7+ UpdateGroupValidator ,
8+ DispatchPermissionValidator ,
9+ DispatchPermissionsValidator ,
10+ RemovePermissionsValidator
11+ } from '../../validators/admin' ;
12+ import {
2513 PositiveIdValidator ,
2614 PaginateValidator
27- } = require ( '../../validators/common' ) ;
15+ } from '../../validators/common' ;
2816
29- const { AdminDao } = require ( '../../dao/admin' ) ;
17+ import { adminRequired } from '../../middleware/jwt' ;
18+ import { AdminDao } from '../../dao/admin' ;
3019
3120const admin = new LinRouter ( {
3221 prefix : '/cms/admin'
@@ -35,25 +24,17 @@ const admin = new LinRouter({
3524const adminDao = new AdminDao ( ) ;
3625
3726admin . linGet (
38- 'getAuthority ' ,
39- '/authority ' ,
27+ 'getAllPermissions ' ,
28+ '/permission ' ,
4029 {
4130 auth : '查询所有可分配的权限' ,
4231 module : '管理员' ,
4332 mount : false
4433 } ,
4534 adminRequired ,
46- ctx => {
47- const res = { } ;
48- routeMetaInfo . forEach ( ( v , k ) => {
49- const au = v [ 'auth' ] ;
50- if ( ! has ( res , `${ v [ 'module' ] } .${ au } ` ) ) {
51- set ( res , `${ v [ 'module' ] } .${ au } ` , [ k ] ) ;
52- } else {
53- res [ v [ 'module' ] ] [ au ] . push ( k ) ;
54- }
55- } ) ;
56- ctx . json ( res ) ;
35+ async ctx => {
36+ const permissions = await adminDao . getAllPermissions ( ) ;
37+ ctx . json ( permissions ) ;
5738 }
5839) ;
5940
@@ -69,25 +50,22 @@ admin.linGet(
6950 async ctx => {
7051 const v = await new AdminUsersValidator ( ) . validate ( ctx ) ;
7152 const { users, total } = await adminDao . getUsers (
72- ctx ,
7353 v . get ( 'query.group_id' ) ,
7454 v . get ( 'query.page' ) ,
7555 v . get ( 'query.count' )
7656 ) ;
7757 ctx . json ( {
7858 items : users ,
79- // 超级管理员不算入总数
80- total : total ,
81- page : v . get ( 'query.page' ) ,
59+ total,
8260 count : v . get ( 'query.count' ) ,
83- total_page : Math . ceil ( total / parseInt ( v . get ( 'query.count' ) ) )
61+ page : v . get ( 'query.page' )
8462 } ) ;
8563 }
8664) ;
8765
8866admin . linPut (
8967 'changeUserPassword' ,
90- '/password /:id' ,
68+ '/user /:id/password ' ,
9169 {
9270 auth : '修改用户密码' ,
9371 module : '管理员' ,
@@ -98,14 +76,15 @@ admin.linPut(
9876 const v = await new ResetPasswordValidator ( ) . validate ( ctx ) ;
9977 await adminDao . changeUserPassword ( ctx , v ) ;
10078 ctx . success ( {
101- msg : '密码修改成功'
79+ msg : '密码修改成功' ,
80+ errorCode : 2
10281 } ) ;
10382 }
10483) ;
10584
10685admin . linDelete (
10786 'deleteUser' ,
108- '/:id' ,
87+ '/user/ :id' ,
10988 {
11089 auth : '删除用户' ,
11190 module : '管理员' ,
@@ -117,14 +96,15 @@ admin.linDelete(
11796 const id = v . get ( 'path.id' ) ;
11897 await adminDao . deleteUser ( ctx , id ) ;
11998 ctx . success ( {
120- msg : '操作成功'
99+ msg : '删除用户成功' ,
100+ errorCode : 3
121101 } ) ;
122102 }
123103) ;
124104
125105admin . linPut (
126106 'updateUser' ,
127- '/:id' ,
107+ '/user/ :id' ,
128108 {
129109 auth : '管理员更新用户信息' ,
130110 module : '管理员' ,
@@ -135,14 +115,15 @@ admin.linPut(
135115 const v = await new UpdateUserInfoValidator ( ) . validate ( ctx ) ;
136116 await adminDao . updateUserInfo ( ctx , v ) ;
137117 ctx . success ( {
138- msg : '操作成功'
118+ msg : '更新用户成功' ,
119+ errorCode : 4
139120 } ) ;
140121 }
141122) ;
142123
143124admin . linGet (
144125 'getAdminGroups' ,
145- '/groups ' ,
126+ '/group ' ,
146127 {
147128 auth : '查询所有权限组及其权限' ,
148129 module : '管理员' ,
@@ -165,8 +146,7 @@ admin.linGet(
165146 items : groups ,
166147 total : total ,
167148 page : v . get ( 'query.page' ) ,
168- count : v . get ( 'query.count' ) ,
169- total_page : Math . ceil ( total / parseInt ( v . get ( 'query.count' ) ) )
149+ count : v . get ( 'query.count' )
170150 } ) ;
171151 }
172152) ;
@@ -181,7 +161,7 @@ admin.linGet(
181161 } ,
182162 adminRequired ,
183163 async ctx => {
184- const groups = await ctx . manager . groupModel . findAll ( ) ;
164+ const groups = await adminDao . getAllGroups ( ) ;
185165 if ( ! groups || groups . length < 1 ) {
186166 throw new NotFound ( {
187167 msg : '未找到任何权限组'
@@ -225,7 +205,8 @@ admin.linPost(
225205 } ) ;
226206 }
227207 ctx . success ( {
228- msg : '新建分组成功'
208+ msg : '新建分组成功' ,
209+ errorCode : 13
229210 } ) ;
230211 }
231212) ;
@@ -243,7 +224,8 @@ admin.linPut(
243224 const v = await new UpdateGroupValidator ( ) . validate ( ctx ) ;
244225 await adminDao . updateGroup ( ctx , v ) ;
245226 ctx . success ( {
246- msg : '更新分组成功'
227+ msg : '更新分组成功' ,
228+ errorCode : 5
247229 } ) ;
248230 }
249231) ;
@@ -262,63 +244,67 @@ admin.linDelete(
262244 const id = v . get ( 'path.id' ) ;
263245 await adminDao . deleteGroup ( ctx , id ) ;
264246 ctx . success ( {
265- msg : '删除分组成功'
247+ msg : '删除分组成功' ,
248+ errorCode : 6
266249 } ) ;
267250 }
268251) ;
269252
270253admin . linPost (
271- 'dispatchAuth ' ,
272- '/dispatch' ,
254+ 'dispatchPermission ' ,
255+ '/permission/ dispatch' ,
273256 {
274257 auth : '分配单个权限' ,
275258 module : '管理员' ,
276259 mount : false
277260 } ,
278261 adminRequired ,
279262 async ctx => {
280- const v = await new DispatchAuthValidator ( ) . validate ( ctx ) ;
281- await adminDao . dispatchAuth ( ctx , v ) ;
263+ const v = await new DispatchPermissionValidator ( ) . validate ( ctx ) ;
264+ await adminDao . dispatchPermission ( ctx , v ) ;
282265 ctx . success ( {
283- msg : '添加权限成功'
266+ msg : '添加权限成功' ,
267+ errorCode : 6
284268 } ) ;
285269 }
286270) ;
287271
288272admin . linPost (
289- 'dispatchAuths ' ,
290- '/dispatch/patch ' ,
273+ 'dispatchPermissions ' ,
274+ '/permission/ dispatch/batch ' ,
291275 {
292276 auth : '分配多个权限' ,
293277 module : '管理员' ,
294278 mount : false
295279 } ,
296280 adminRequired ,
297281 async ctx => {
298- const v = await new DispatchAuthsValidator ( ) . validate ( ctx ) ;
299- await adminDao . dispatchAuths ( ctx , v ) ;
282+ const v = await new DispatchPermissionsValidator ( ) . validate ( ctx ) ;
283+ await adminDao . dispatchPermissions ( ctx , v ) ;
300284 ctx . success ( {
301- msg : '添加权限成功'
285+ msg : '添加权限成功' ,
286+ errorCode : 7
302287 } ) ;
303288 }
304289) ;
305290
306291admin . linPost (
307- 'removeAuths ' ,
308- '/remove' ,
292+ 'removePermissions ' ,
293+ '/permission/ remove' ,
309294 {
310295 auth : '删除多个权限' ,
311296 module : '管理员' ,
312297 mount : false
313298 } ,
314299 adminRequired ,
315300 async ctx => {
316- const v = await new RemoveAuthsValidator ( ) . validate ( ctx ) ;
317- await adminDao . removeAuths ( ctx , v ) ;
301+ const v = await new RemovePermissionsValidator ( ) . validate ( ctx ) ;
302+ await adminDao . removePermissions ( ctx , v ) ;
318303 ctx . success ( {
319- msg : '删除权限成功'
304+ msg : '删除权限成功' ,
305+ errorCode : 8
320306 } ) ;
321307 }
322308) ;
323309
324- module . exports = { admin } ;
310+ export { admin } ;
0 commit comments