@@ -65,27 +65,30 @@ async function create (message) {
65
65
66
66
// sometimes we have issue that when member accepts invitation the invitation is somehow
67
67
// 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
+ }
87
88
}
88
89
}
90
+ } catch ( err ) {
91
+ logger . error ( `Error during removing existent invites for added member: ${ err } ` )
89
92
}
90
93
91
94
return _ . assign ( doc . _source , { members } )
0 commit comments