From a1861f1fdaec5e3d626b634d05592aa4265e1903 Mon Sep 17 00:00:00 2001 From: Marshall Polaris Date: Mon, 8 Aug 2022 22:09:15 -0700 Subject: [PATCH] Make `sendEmail` functions await email send success --- functions/src/emails.ts | 17 ++++++++--------- functions/src/send-email.ts | 23 ++++++++++++----------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/functions/src/emails.ts b/functions/src/emails.ts index a097393e..19c7d4e4 100644 --- a/functions/src/emails.ts +++ b/functions/src/emails.ts @@ -74,9 +74,8 @@ export const sendMarketResolutionEmail = async ( // Modify template here: // https://app.mailgun.com/app/sending/domains/mg.manifold.markets/templates/edit/market-resolved/initial - // Mailgun username: james@mantic.markets - await sendTemplateEmail( + return await sendTemplateEmail( privateUser.email, subject, 'market-resolved', @@ -152,7 +151,7 @@ export const sendWelcomeEmail = async ( const emailType = 'generic' const unsubscribeLink = `${UNSUBSCRIBE_ENDPOINT}?id=${userId}&type=${emailType}` - await sendTemplateEmail( + return await sendTemplateEmail( privateUser.email, 'Welcome to Manifold Markets!', 'welcome', @@ -183,7 +182,7 @@ export const sendOneWeekBonusEmail = async ( const emailType = 'generic' const unsubscribeLink = `${UNSUBSCRIBE_ENDPOINT}?id=${userId}&type=${emailType}` - await sendTemplateEmail( + return await sendTemplateEmail( privateUser.email, 'Manifold Markets one week anniversary gift', 'one-week', @@ -215,7 +214,7 @@ export const sendThankYouEmail = async ( const emailType = 'generic' const unsubscribeLink = `${UNSUBSCRIBE_ENDPOINT}?id=${userId}&type=${emailType}` - await sendTemplateEmail( + return await sendTemplateEmail( privateUser.email, 'Thanks for your Manifold purchase', 'thank-you', @@ -250,7 +249,7 @@ export const sendMarketCloseEmail = async ( const emailType = 'market-resolve' const unsubscribeUrl = `${UNSUBSCRIBE_ENDPOINT}?id=${userId}&type=${emailType}` - await sendTemplateEmail( + return await sendTemplateEmail( privateUser.email, 'Your market has closed', 'market-close', @@ -309,7 +308,7 @@ export const sendNewCommentEmail = async ( if (contract.outcomeType === 'FREE_RESPONSE' && answerId && answerText) { const answerNumber = `#${answerId}` - await sendTemplateEmail( + return await sendTemplateEmail( privateUser.email, subject, 'market-answer-comment', @@ -332,7 +331,7 @@ export const sendNewCommentEmail = async ( bet.outcome )}` } - await sendTemplateEmail( + return await sendTemplateEmail( privateUser.email, subject, 'market-comment', @@ -377,7 +376,7 @@ export const sendNewAnswerEmail = async ( const subject = `New answer on ${question}` const from = `${name} ` - await sendTemplateEmail( + return await sendTemplateEmail( privateUser.email, subject, 'market-answer', diff --git a/functions/src/send-email.ts b/functions/src/send-email.ts index d081997f..5f11ed47 100644 --- a/functions/src/send-email.ts +++ b/functions/src/send-email.ts @@ -5,7 +5,11 @@ const initMailgun = () => { return mailgun({ apiKey, domain: 'mg.manifold.markets' }) } -export const sendTextEmail = (to: string, subject: string, text: string) => { +export const sendTextEmail = async ( + to: string, + subject: string, + text: string +) => { const data: mailgun.messages.SendData = { from: 'Manifold Markets ', to, @@ -15,13 +19,12 @@ export const sendTextEmail = (to: string, subject: string, text: string) => { 'o:tracking-clicks': 'htmlonly', } const mg = initMailgun() - return mg.messages().send(data, (error) => { - if (error) console.log('Error sending email', error) - else console.log('Sent text email', to, subject) - }) + const result = await mg.messages().send(data) + console.log('Sent text email', to, subject) + return result } -export const sendTemplateEmail = ( +export const sendTemplateEmail = async ( to: string, subject: string, templateId: string, @@ -37,9 +40,7 @@ export const sendTemplateEmail = ( 'h:X-Mailgun-Variables': JSON.stringify(templateData), } const mg = initMailgun() - - return mg.messages().send(data, (error) => { - if (error) console.log('Error sending email', error) - else console.log('Sent template email', templateId, to, subject) - }) + const result = await mg.messages().send(data) + console.log('Sent template email', templateId, to, subject) + return result }