Skip to content

Commit aff837a

Browse files
committed
chore: use toPublicUser on other user endpoints
1 parent afedd47 commit aff837a

File tree

3 files changed

+17
-22
lines changed

3 files changed

+17
-22
lines changed

src/service/routes/auth.js

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ const passportLocal = require('../passport/local');
66
const passportAD = require('../passport/activeDirectory');
77
const authStrategies = require('../passport').authStrategies;
88
const db = require('../../db');
9+
const { toPublicUser } = require('./publicApi');
910
const { GIT_PROXY_UI_HOST: uiHost = 'http://localhost', GIT_PROXY_UI_PORT: uiPort = 3000 } =
1011
process.env;
1112

@@ -70,7 +71,7 @@ router.post(
7071
);
7172
res.send({
7273
message: 'success',
73-
user: currentUser,
74+
user: toPublicUser(currentUser),
7475
});
7576
} catch (e) {
7677
console.log(`service.routes.auth.login: Error logging user in ${JSON.stringify(e)}`);
@@ -114,8 +115,7 @@ router.post('/logout', (req, res, next) => {
114115
router.get('/profile', async (req, res) => {
115116
if (req.user) {
116117
const userVal = await db.findUser(req.user.username);
117-
delete userVal.password;
118-
res.send(userVal);
118+
res.send(toPublicUser(userVal));
119119
} else {
120120
res.status(401).end();
121121
}
@@ -156,12 +156,8 @@ router.post('/gitAccount', async (req, res) => {
156156

157157
router.get('/me', async (req, res) => {
158158
if (req.user) {
159-
const user = JSON.parse(JSON.stringify(req.user));
160-
if (user && user.password) delete user.password;
161-
const login = user.username;
162-
const userVal = await db.findUser(login);
163-
if (userVal && userVal.password) delete userVal.password;
164-
res.send(userVal);
159+
const userVal = await db.findUser(req.user.username);
160+
res.send(toPublicUser(userVal));
165161
} else {
166162
res.status(401).end();
167163
}

src/service/routes/publicApi.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
export const toPublicUser = (user) => {
2+
return {
3+
username: user.username || '',
4+
displayName: user.displayName || '',
5+
email: user.email || '',
6+
title: user.title || '',
7+
gitAccount: user.gitAccount || '',
8+
admin: user.admin || false,
9+
}
10+
}

src/service/routes/users.js

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,7 @@
11
const express = require('express');
22
const router = new express.Router();
33
const db = require('../../db');
4-
5-
const toPublicUser = (user) => {
6-
return {
7-
username: user.username || '',
8-
displayName: user.displayName || '',
9-
email: user.email || '',
10-
title: user.title || '',
11-
gitAccount: user.gitAccount || '',
12-
admin: user.admin || false,
13-
}
14-
}
4+
const { toPublicUser } = require('./publicApi');
155

166
router.get('/', async (req, res) => {
177
const query = {};
@@ -35,8 +25,7 @@ router.get('/', async (req, res) => {
3525
router.get('/:id', async (req, res) => {
3626
const username = req.params.id.toLowerCase();
3727
console.log(`Retrieving details for user: ${username}`);
38-
const data = await db.findUser(username);
39-
const user = JSON.parse(JSON.stringify(data));
28+
const user = await db.findUser(username);
4029
res.send(toPublicUser(user));
4130
});
4231

0 commit comments

Comments
 (0)