diff --git a/server/api/members/create.post.js b/server/api/members/create.post.js index fd965ea..15ee5e7 100644 --- a/server/api/members/create.post.js +++ b/server/api/members/create.post.js @@ -29,15 +29,19 @@ async function inviteToSlack(member) { if (inviteResult.status === 'existing_user_added_to_channel' || inviteResult.status === 'user_already_in_channel' || inviteResult.status === 'new_user_invited_to_workspace') { - member.slackInviteStatus = 'sent' - member.slackUserId = inviteResult.userId - member.slackInvited = true + await Member.findByIdAndUpdate( + member._id, + { $set: { slackInviteStatus: 'sent', slackUserId: inviteResult.userId, slackInvited: true } }, + { runValidators: false } + ) } else { // Manual invitation required - member.slackInviteStatus = 'pending' - member.slackInvited = false + await Member.findByIdAndUpdate( + member._id, + { $set: { slackInviteStatus: 'pending', slackInvited: false } }, + { runValidators: false } + ) } - await member.save() // Send notification to vetting channel await slackService.notifyNewMember( @@ -51,8 +55,11 @@ async function inviteToSlack(member) { console.warn(`Slack invitation processed: ${inviteResult.status}`) } else { // Update member record to reflect failed invitation - member.slackInviteStatus = 'failed' - await member.save() + await Member.findByIdAndUpdate( + member._id, + { $set: { slackInviteStatus: 'failed' } }, + { runValidators: false } + ) console.error(`Failed to process Slack invitation: ${inviteResult.error}`) // Don't throw error - member creation should still succeed @@ -62,8 +69,11 @@ async function inviteToSlack(member) { // Update member record to reflect failed invitation try { - member.slackInviteStatus = 'failed' - await member.save() + await Member.findByIdAndUpdate( + member._id, + { $set: { slackInviteStatus: 'failed' } }, + { runValidators: false } + ) } catch (saveError) { console.error('Failed to update member Slack status:', saveError) }