@@ -65,27 +65,30 @@ async function create (message) {
6565
6666 // sometimes we have issue that when member accepts invitation the invitation is somehow
6767 // is not removed from the ES, so here we are making sure that invite is removed when we are adding member
68- const addedMember = members [ existingMemberIndex ]
69- const addedMemberInvites = _ . filter ( doc . _source . invites , ( invite ) => (
70- invite . email === addedMember . email || invite . userId === addedMember . userId
71- ) )
72-
73- if ( addedMemberInvites . length > 0 ) {
74- logger . warn ( `There are ${ addedMemberInvites . length } invite(s) are not yet removed` +
75- ` for member.id: ${ addedMember . id } member.userId: ${ addedMember . userId } .` )
76-
77- for ( let i = 0 ; i < addedMemberInvites . length ; i ++ ) {
78- const invite = addedMemberInvites [ i ]
79- logger . debug ( `Removing invite.id: ${ invite . id } for member.id: ${ addedMember . id } member.userId: ${ addedMember . userId } .` )
80- try {
81- const message = { id : invite . id }
82- const updateDocHandler = helper . removeInvitePromise ( message )
83- await updateDocHandler ( doc )
84- logger . debug ( `Successfully removed invite.id: ${ invite . id } .` )
85- } catch ( err ) {
86- logger . error ( `Failed removing invite.id: ${ invite . id } . ${ err } ` )
68+ try { // make sure that this logic never cause an error in member adding process
69+ const invites = _ . filter ( doc . _source . invites , ( invite ) => (
70+ invite . email === member . email || invite . userId === member . userId
71+ ) )
72+
73+ if ( invites . length > 0 ) {
74+ logger . warn ( `There are ${ invites . length } invite(s) are not yet removed` +
75+ ` for member.id: ${ member . id } member.userId: ${ member . userId } .` )
76+
77+ for ( let i = 0 ; i < invites . length ; i ++ ) {
78+ const invite = invites [ i ]
79+ logger . debug ( `Removing invite.id: ${ invite . id } for member.id: ${ member . id } member.userId: ${ member . userId } .` )
80+ try {
81+ const message = { id : invite . id }
82+ const updateDocHandler = helper . removeInvitePromise ( message )
83+ await updateDocHandler ( doc )
84+ logger . debug ( `Successfully removed invite.id: ${ invite . id } .` )
85+ } catch ( err ) {
86+ logger . error ( `Failed removing invite.id: ${ invite . id } . ${ err } ` )
87+ }
8788 }
8889 }
90+ } catch ( err ) {
91+ logger . error ( `Error during removing existent invites for added member: ${ err } ` )
8992 }
9093
9194 return _ . assign ( doc . _source , { members } )
0 commit comments