File tree Expand file tree Collapse file tree 3 files changed +12
-3
lines changed
routes/projectMemberInvites Expand file tree Collapse file tree 3 files changed +12
-3
lines changed Original file line number Diff line number Diff line change @@ -227,7 +227,8 @@ describe('GET Project Member Invite', () => {
227
227
should . exist ( resJson ) ;
228
228
should . exist ( resJson . projectId ) ;
229
229
resJson . id . should . be . eql ( 3 ) ;
230
- resJson . email . should . be . eql ( 't***t@t***r.com' ) ; // masked
230
+ // not masked, because user who is invited by email is the user who is calling this endpoint
231
+ resJson . email . should . be . eql ( 'test@topcoder.com' ) ;
231
232
resJson . status . should . be . eql ( INVITE_STATUS . PENDING ) ;
232
233
done ( ) ;
233
234
}
Original file line number Diff line number Diff line change @@ -252,7 +252,8 @@ describe('GET Project Member Invites', () => {
252
252
resJson . length . should . be . eql ( 1 ) ;
253
253
// check invitations
254
254
_ . filter ( resJson , inv => inv . id === 3 ) . length . should . be . eql ( 1 ) ;
255
- resJson [ 0 ] . email . should . be . eql ( 't***t@t***r.com' ) ; // masked
255
+ // not masked, because user who is invited by email is the user who is calling this endpoint
256
+ resJson [ 0 ] . email . should . be . eql ( 'test@topcoder.com' ) ;
256
257
done ( ) ;
257
258
}
258
259
} ) ;
Original file line number Diff line number Diff line change @@ -653,6 +653,7 @@ _.assignIn(util, {
653
653
654
654
const isAdmin = util . hasPermission ( { topcoderRoles : [ USER_ROLE . TOPCODER_ADMIN ] } , req . authUser ) ;
655
655
const currentUserId = req . authUser . userId ;
656
+ const currentUserEmail = req . authUser . email ;
656
657
657
658
// admins can get data as it is
658
659
if ( isAdmin ) {
@@ -669,7 +670,13 @@ _.assignIn(util, {
669
670
const canSeeEmail = (
670
671
isAdmin || // admin
671
672
invite . createdBy === currentUserId || // user who created invite
672
- invite . userId === currentUserId // user who is invited
673
+ ( invite . userId !== null && invite . userId === currentUserId ) || // user who is invited by `handle`
674
+ ( // user who is invited by `email` (invite doesn't have `userId`)
675
+ invite . userId === null &&
676
+ invite . email &&
677
+ currentUserEmail &&
678
+ invite . email . toLowerCase ( ) === currentUserEmail . toLowerCase ( )
679
+ )
673
680
) ;
674
681
// mask email if user cannot see it
675
682
_ . assign ( invite , {
You can’t perform that action at this time.
0 commit comments