All files / src/controllers/system-controller sendVerificationCodeToEmail.js

68.75% Statements 11/16
66.66% Branches 4/6
50% Functions 1/2
68.75% Lines 11/16

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31    77x     2x 2x 2x 2x       2x 2x 2x   2x       2x   2x                
import sendEmail from '../../utilities/sendEmail.js'
 
export const emailsToVerify = {};
 
export default async function sendVerificationCodeToEmail(mailContent, { timeout = 60000 * 5 } = {}) {
    try {
        const { userEmail, subject, body, htmlTemplate, verificationCode } = mailContent;
        if (userEmail) {
            Iif (emailsToVerify[userEmail]) {
                return true;
            }
 
            emailsToVerify[userEmail] = {};
            emailsToVerify[userEmail].code = verificationCode;
            emailsToVerify[userEmail].tries = 1;
 
            const timeoutId = setTimeout(() => {
                delete emailsToVerify[userEmail];
            }, timeout);
 
            emailsToVerify[userEmail].timeoutId = timeoutId;
 
            return await sendEmail(userEmail, subject, body, htmlTemplate);
        } else Ereturn null;
    } catch (error) {
        console.log(error)
        return false;
    }
}