diff --git a/backend/src/graphql/resolver/TransactionLinkResolver.ts b/backend/src/graphql/resolver/TransactionLinkResolver.ts index a224ffbbd..9342f8c11 100644 --- a/backend/src/graphql/resolver/TransactionLinkResolver.ts +++ b/backend/src/graphql/resolver/TransactionLinkResolver.ts @@ -15,6 +15,7 @@ import { EncryptedTransferArgs, fullName, interpretEncryptedTransferArgs, + sendTransactionLinkRedeemedEmail, sendTransactionReceivedEmail, TransactionTypeId, } from 'core' @@ -674,22 +675,31 @@ export class TransactionLinkResolver { methodLogger.error(errmsg) throw new LogError(errmsg) } - try { - await sendTransactionReceivedEmail({ - firstName: recipientFirstName, - lastName: recipientUser.lastName, - email: recipientUser.emailContact.email, - language: recipientUser.language, - memo, - senderFirstName: senderUser.firstName, - senderLastName: senderUser.lastName, - senderEmail: senderUser.emailContact.email, - transactionAmount: new Decimal(amount), - }) - } catch (e) { - const errmsg = `Send Transaction Received Email to recipient failed with error=${e}` - methodLogger.error(errmsg) - throw new Error(errmsg) + if(recipientUser.emailContact?.email !== null){ + if (methodLogger.isDebugEnabled()) { + methodLogger.debug('Sending Transaction Received Email to recipient=' + recipientUser.firstName + ' ' + recipientUser.lastName + 'sender=' + senderUser.firstName + ' ' + senderUser.lastName) + } + try { + await sendTransactionLinkRedeemedEmail({ + firstName: senderUser.firstName, + lastName: senderUser.lastName, + email: senderUser.emailContact.email, + language: senderUser.language, + senderFirstName: recipientFirstName, + senderLastName: recipientUser.lastName, + senderEmail: recipientUser.emailContact.email, + transactionMemo: memo, + transactionAmount: new Decimal(amount), + }) + } catch (e) { + const errmsg = `Send Transaction Received Email to recipient failed with error=${e}` + methodLogger.error(errmsg) + throw new Error(errmsg) + } + } else { + if (methodLogger.isDebugEnabled()) { + methodLogger.debug('Sender or Recipient are foreign users with no email contact, not sending Transaction Received Email: recipient=' + recipientUser.firstName + ' ' + recipientUser.lastName + 'sender=' + senderUser.firstName + ' ' + senderUser.lastName) + } } } catch (e) { const errmsg = `Disburse JWT was not sent successfully with error=${e}`