@@ -81,27 +81,30 @@ async function create (message) {
81
81
82
82
// sometimes we have issue that when member accepts invitation the invitation is somehow
83
83
// is not removed from the ES, so here we are making sure that invite is removed when we are adding member
84
- const addedMember = members [ existingMemberIndex ]
85
- const addedMemberInvites = _ . filter ( doc . _source . invites , ( invite ) => (
86
- invite . email === addedMember . email || invite . userId === addedMember . userId
87
- ) )
88
-
89
- if ( addedMemberInvites . length > 0 ) {
90
- logger . warn ( `There are ${ addedMemberInvites . length } invite(s) are not yet removed` +
91
- ` for member.id: ${ addedMember . id } member.userId: ${ addedMember . userId } .` )
92
-
93
- for ( let i = 0 ; i < addedMemberInvites . length ; i ++ ) {
94
- const invite = addedMemberInvites [ i ]
95
- logger . debug ( `Removing invite.id: ${ invite . id } for member.id: ${ addedMember . id } member.userId: ${ addedMember . userId } .` )
96
- try {
97
- const message = { id : invite . id }
98
- const updateDocHandler = helper . removeInvitePromise ( message )
99
- await updateDocHandler ( doc )
100
- logger . debug ( `Successfully removed invite.id: ${ invite . id } .` )
101
- } catch ( err ) {
102
- logger . error ( `Failed removing invite.id: ${ invite . id } . ${ err } ` )
84
+ try { // make sure that this logic never cause an error in member adding process
85
+ const invites = _ . filter ( doc . _source . invites , ( invite ) => (
86
+ invite . email === member . email || invite . userId === member . userId
87
+ ) )
88
+
89
+ if ( invites . length > 0 ) {
90
+ logger . warn ( `There are ${ invites . length } invite(s) are not yet removed` +
91
+ ` for member.id: ${ member . id } member.userId: ${ member . userId } .` )
92
+
93
+ for ( let i = 0 ; i < invites . length ; i ++ ) {
94
+ const invite = invites [ i ]
95
+ logger . debug ( `Removing invite.id: ${ invite . id } for member.id: ${ member . id } member.userId: ${ member . userId } .` )
96
+ try {
97
+ const message = { id : invite . id }
98
+ const updateDocHandler = helper . removeInvitePromise ( message )
99
+ await updateDocHandler ( doc )
100
+ logger . debug ( `Successfully removed invite.id: ${ invite . id } .` )
101
+ } catch ( err ) {
102
+ logger . error ( `Failed removing invite.id: ${ invite . id } . ${ err } ` )
103
+ }
103
104
}
104
105
}
106
+ } catch ( err ) {
107
+ logger . error ( `Error during removing existent invites for added member: ${ err } ` )
105
108
}
106
109
107
110
return _ . assign ( doc . _source , { members } )
0 commit comments