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

View file

@ -4,7 +4,6 @@ export default defineNitroPlugin(() => {
'JWT_SECRET', 'JWT_SECRET',
'RESEND_API_KEY', 'RESEND_API_KEY',
'HELCIM_API_TOKEN', 'HELCIM_API_TOKEN',
'NUXT_PUBLIC_HELCIM_TOKEN',
] ]
const missing = required.filter((key) => { const missing = required.filter((key) => {