@@ -5,15 +5,15 @@ const User = require('mongoose').model('User');
5
5
// const Gate = require('mongoose').model('Gate');
6
6
// const ojnames = require(path.join(rootPath, 'models/ojnames'));
7
7
// const ojnamesOnly = ojnames.data.map((x)=>x.name);
8
- const logger = require ( 'logger' ) ;
8
+ // const logger = require('logger');
9
9
// const queue = require('queue');
10
10
11
11
// router.get('/users/username-userId/:username', getUserIdFromUsername );
12
12
// router.get('/users/stats/whoSolvedIt', whoSolvedIt );
13
13
14
14
router . get ( '/users/info' , getInfo ) ;
15
15
router . post ( '/users/logout' , logout ) ;
16
- // router.get('/users /:username', getUser );
16
+ router . get ( '/user /:username' , getUser ) ;
17
17
// router.get('/users/:username/root-stats', rootStats);
18
18
// router.put('/users/:username/sync-solve-count', syncSolveCount);
19
19
//
@@ -74,32 +74,33 @@ function logout(req, res, next) {
74
74
// }
75
75
// }
76
76
//
77
- // async function getUser(req, res, next) {
78
- // try {
79
- // const {username} = req.params;
80
- // const {select} = req.query;
81
- //
82
- // const user = await User.findOne({username}).select(select).exec();
83
- //
84
- // if (!user) {
85
- // const err = new Error('No such user');
86
- // err.status = 400;
87
- // throw err;
88
- // }
89
- //
90
- // // Remove sensitive information
91
- // user.email = undefined;
92
- // user.password = undefined;
93
- //
94
- // return res.status(200).json({
95
- // status: 200,
96
- // data: user,
97
- // });
98
- // } catch (err) {
99
- // return next(err);
100
- // }
101
- // }
102
- //
77
+ async function getUser ( req , res , next ) {
78
+ try {
79
+ const { username} = req . params ;
80
+ const { select} = req . query ;
81
+
82
+ const user = await User . findOne ( { _id : username } ) . select ( select ) . exec ( ) ;
83
+
84
+ if ( ! user ) {
85
+ return next ( {
86
+ status : 400 ,
87
+ message : `BADPARAM: No such user with username: ${ username } .` ,
88
+ } ) ;
89
+ }
90
+
91
+ // Remove sensitive information
92
+ user . email = undefined ;
93
+ user . password = undefined ;
94
+
95
+ return res . status ( 200 ) . json ( {
96
+ status : 200 ,
97
+ data : user ,
98
+ } ) ;
99
+ } catch ( err ) {
100
+ return next ( err ) ;
101
+ }
102
+ }
103
+
103
104
// async function whoSolvedIt(req, res, next) {
104
105
// try {
105
106
// const {problemList, classId} = req.query;
0 commit comments