fix: replace member.save() in invite.post.js and remove stale NUXT_PUBLIC_HELCIM_TOKEN env check

This commit is contained in:
Jennie Robinson Faber 2026-04-04 14:02:06 +01:00
parent fdc925331d
commit 036af95e00
2 changed files with 15 additions and 9 deletions

View file

@ -49,9 +49,7 @@ export default defineEventHandler(async (event) => {
{ expiresIn: '48h' },
)
// Store jti for single-use enforcement in verify.post.js
member.magicLinkJti = jti
member.magicLinkJtiUsed = false
// Store jti for single-use enforcement in verify.post.js (set after email succeeds below)
// Token in fragment — never hits server logs
const loginLink = `${baseUrl}/verify#${token}`
@ -87,11 +85,20 @@ export default defineEventHandler(async (event) => {
continue
}
// Mark member as active and record invite sent
member.status = 'active'
member.inviteEmailSent = true
member.inviteEmailSentAt = new Date()
await member.save()
// Mark member as active, record invite sent, store jti for single-use enforcement
await Member.findByIdAndUpdate(
member._id,
{
$set: {
magicLinkJti: jti,
magicLinkJtiUsed: false,
status: 'active',
inviteEmailSent: true,
inviteEmailSentAt: new Date(),
},
},
{ runValidators: false }
)
results.push({ memberId: member._id, email: member.email, success: true })
} catch (err) {