@@ -280,6 +280,8 @@ _.assignIn(util, {
280
280
281
281
// for non topcoder admins remove emails from the field list
282
282
_ . assign ( fields , { project_members : _ . filter ( fields . project_members , f => f !== 'email' ) } ) ;
283
+ _ . assign ( fields , { project_members : _ . filter ( fields . project_members , f => f !== 'firstName' ) } ) ;
284
+ _ . assign ( fields , { project_members : _ . filter ( fields . project_members , f => f !== 'lastName' ) } ) ;
283
285
284
286
return fields ;
285
287
} ,
@@ -665,11 +667,11 @@ _.assignIn(util, {
665
667
return members ;
666
668
}
667
669
const memberTraitFields = [ 'photoURL' , 'workingHourStart' , 'workingHourEnd' , 'timeZone' ] ;
668
- const memberDetailFields = [ 'handle' , 'firstName' , 'lastName '] ;
670
+ let memberDetailFields = [ 'handle' ] ;
669
671
670
672
// Only Topcoder admins can get emails for users
671
673
if ( util . hasPermission ( { topcoderRoles : [ USER_ROLE . TOPCODER_ADMIN ] } , req . authUser ) ) {
672
- memberDetailFields . push ( 'email' ) ;
674
+ memberDetailFields = memberDetailFields . concat ( [ 'email' , 'firstName' , 'lastName' ] ) ;
673
675
}
674
676
675
677
let allMemberDetails = [ ] ;
@@ -727,6 +729,8 @@ _.assignIn(util, {
727
729
728
730
// in general, only users with Topcoder administrator privileges can see emails
729
731
let canSeeEmail = util . hasPermission ( { topcoderRoles : [ USER_ROLE . TOPCODER_ADMIN ] } , req . authUser ) ;
732
+ // we also shouldn't return full name to users except of admins
733
+ const canSeeFullName = util . hasPermission ( { topcoderRoles : [ USER_ROLE . TOPCODER_ADMIN ] } , req . authUser ) ;
730
734
731
735
// specially for invite objects, we still have to return email, if invite is for a new user which doesn't have "userId"
732
736
if ( memberDetails . status ) { // we identify that the object is "invite" and not a "member" if object has "status" field
@@ -736,6 +740,13 @@ _.assignIn(util, {
736
740
if ( ! canSeeEmail ) {
737
741
delete memberDetails . email ;
738
742
}
743
+
744
+ // this is a temporary fix as ES also has this data, so we have explicitly remove it
745
+ if ( ! canSeeFullName ) {
746
+ delete memberDetails . firstName ;
747
+ delete memberDetails . lastName ;
748
+ }
749
+
739
750
return _ ( memberDetails ) . pick ( fields ) . defaults ( memberDefaults ) . value ( ) ;
740
751
} ) ;
741
752
} ,
0 commit comments