fix: replace member.save() with findByIdAndUpdate in Slack invite helper

This commit is contained in:
Jennie Robinson Faber 2026-04-04 13:24:22 +01:00
parent e592b962ec
commit bc887ca1d4

View file

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