From 27f0de9464685c8f960bde9d07986fdc5b20f8f9 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Fri, 2 Apr 2021 09:33:53 +0200 Subject: [PATCH] fix enail confirmation link when an invite-code is given --- backend/src/middleware/email/emailMiddleware.js | 7 ++++++- backend/src/middleware/email/templateBuilder.js | 11 ++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/backend/src/middleware/email/emailMiddleware.js b/backend/src/middleware/email/emailMiddleware.js index ea69dcd95..571b733d5 100644 --- a/backend/src/middleware/email/emailMiddleware.js +++ b/backend/src/middleware/email/emailMiddleware.js @@ -43,9 +43,14 @@ if (!hasEmailConfig) { } const sendSignupMail = async (resolve, root, args, context, resolveInfo) => { + const { inviteCode } = args const response = await resolve(root, args, context, resolveInfo) const { email, nonce } = response - await sendMail(signupTemplate({ email, nonce })) + if (inviteCode) { + await sendMail(signupTemplate({ email, nonce, inviteCode })) + } else { + await sendMail(signupTemplate({ email, nonce })) + } delete response.nonce return response } diff --git a/backend/src/middleware/email/templateBuilder.js b/backend/src/middleware/email/templateBuilder.js index 28d75b3eb..ab25cd8c7 100644 --- a/backend/src/middleware/email/templateBuilder.js +++ b/backend/src/middleware/email/templateBuilder.js @@ -13,14 +13,19 @@ const defaultParams = { welcomeImageUrl, } -export const signupTemplate = ({ email, nonce }) => { +export const signupTemplate = ({ email, nonce, inviteCode = null }) => { const subject = `Willkommen, Bienvenue, Welcome to ${CONFIG.APPLICATION_NAME}!` // dev format example: http://localhost:3000/registration?method=invite-mail&email=wolle.huss%40pjannto.com&nonce=64853 const actionUrl = new URL('/registration', CONFIG.CLIENT_URI) - actionUrl.searchParams.set('method', 'invite-mail') actionUrl.searchParams.set('email', email) actionUrl.searchParams.set('nonce', nonce) - + if (inviteCode) { + actionUrl.searchParams.set('inviteCode', inviteCode) + actionUrl.searchParams.set('method', 'invite-code') + } else { + actionUrl.searchParams.set('method', 'invite-mail') + } + return { from, to: email,