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' ||
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)
}