mirror of
				https://github.com/NodeBB/NodeBB.git
				synced 2025-10-31 02:55:58 +01:00 
			
		
		
		
	fix: use user.hidePrivateData(); more consistently across user retrieval endpoints
				
					
				
			This commit is contained in:
		| @@ -28,7 +28,7 @@ helpers.getUserDataByUserSlug = async function (userslug, callerUID, query = {}) | ||||
| 	} | ||||
| 	await parseAboutMe(results.userData); | ||||
|  | ||||
| 	const { userData } = results; | ||||
| 	let { userData } = results; | ||||
| 	const { userSettings } = results; | ||||
| 	const { isAdmin } = results; | ||||
| 	const { isGlobalModerator } = results; | ||||
| @@ -41,17 +41,8 @@ helpers.getUserDataByUserSlug = async function (userslug, callerUID, query = {}) | ||||
| 		userData.birthday ? Math.floor((new Date().getTime() - new Date(userData.birthday).getTime()) / 31536000000) : 0 | ||||
| 	); | ||||
|  | ||||
| 	userData.emailClass = 'hide'; | ||||
|  | ||||
| 	if (!results.canEdit && (!userSettings.showemail || meta.config.hideEmail)) { | ||||
| 		userData.email = ''; | ||||
| 	} else if (!userSettings.showemail) { | ||||
| 		userData.emailClass = ''; | ||||
| 	} | ||||
|  | ||||
| 	if (!results.canEdit && (!userSettings.showfullname || meta.config.hideFullname)) { | ||||
| 		userData.fullname = ''; | ||||
| 	} | ||||
| 	userData = await user.hidePrivateData(userData, callerUID); | ||||
| 	userData.emailClass = userSettings.showemail ? 'hide' : ''; | ||||
|  | ||||
| 	if (isAdmin || isSelf || (canViewInfo && !results.isTargetAdmin)) { | ||||
| 		userData.ips = results.ips; | ||||
|   | ||||
| @@ -3,7 +3,6 @@ | ||||
| const path = require('path'); | ||||
|  | ||||
| const user = require('../user'); | ||||
| const meta = require('../meta'); | ||||
| const privileges = require('../privileges'); | ||||
| const accountHelpers = require('./accounts/helpers'); | ||||
|  | ||||
| @@ -68,17 +67,13 @@ userController.getUserDataByUID = async function (callerUid, uid) { | ||||
| 	if (!canView) { | ||||
| 		throw new Error('[[error:no-privileges]]'); | ||||
| 	} | ||||
| 	const [userData, settings] = await Promise.all([ | ||||
| 		user.getUserData(uid), | ||||
| 		user.getSettings(uid), | ||||
| 	]); | ||||
|  | ||||
| 	let userData = await user.getUserData(uid); | ||||
| 	if (!userData) { | ||||
| 		throw new Error('[[error:no-user]]'); | ||||
| 	} | ||||
|  | ||||
| 	userData.email = settings.showemail && !meta.config.hideEmail ? userData.email : undefined; | ||||
| 	userData.fullname = settings.showfullname && !meta.config.hideFullname ? userData.fullname : undefined; | ||||
| 	userData = await user.hidePrivateData(userData, callerUid); | ||||
|  | ||||
| 	return userData; | ||||
| }; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user