UNPKG

@srsl/tools

Version:

JavaScript tools for common interfaces

49 lines (44 loc) 1.43 kB
const handlebars = require('handlebars') const { AWS, sns } = require('../../constructors/aws-sdk') const { createVerificationCode } = require('../') const i18n = { 'en': { 'MFA_CODE': 'Here is your requested code: {{code}}. Don\'t share this code with anyone.', 'MFA_SUBJECT': 'Your requested code.', }, 'zh': { 'MFA_CODE': '以下是您要求的a代码:{{code}}。不要与任何人分享此代码。', 'MFA_SUBJECT': '您要求的代码。', }, } const sendPhoneVerificationText = async ( { phone, phoneCountryCode }, { subject, template, language, codeLength = 6, }, ) => { const lang = language || 'en' const codeLen = codeLength || 6 const code = createVerificationCode(codeLen) const Subject = subject || i18n[lang].MFA_SUBJECT const messageTemplate = template || i18n[lang].MFA_CODE const params = { Message: handlebars.compile(messageTemplate)({ code }), PhoneNumber: `+${phoneCountryCode}${phone}`, Subject, } console.log('sending txt message', params) let result = { ResponseMetadata: { RequestId: '91059ad0-23ef-55c0-ac18-cfe044225fa7' }, MessageId: '09a444c6-7624-5ff0-81f1-11f611e93597', } if (process.env.DEPLOYED_ENV === 'production') { result = await sns.publish(params).promise() } console.log('result', result) return { code, result } } module.exports.sendPhoneVerificationText = sendPhoneVerificationText