All files / app/web-ui/scripts request-mfa-scripts.ts

100% Statements 22/22
100% Branches 1/1
100% Functions 1/1
100% Lines 22/22

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 221x 1x 1x 1x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x
/**
 * This script exposes the requestMfaWithMethod(method: string) function, which will send an API request to resend the MFA code
 */
export const requestMfaScript = (basePath: string) => `
async function requestMfaWithMethod(method) {
    try {
        document.querySelectorAll('.request-buttons').forEach((el) => {
            el.disabled = true
            el.style['background-color'] = 'rgb(147 157 179)'
        });
 
        const response = await fetch('${basePath}/api/resend_mfa?method=' + method, {method: 'POST'});
        if (!response.ok) {
            throw new Error("MFA trigger request failed: " + response.statusText);
        }
        navigate('${basePath}/submit-mfa');
    } catch (e) {
        alert('Failed to request MFA code: ' + e.message);
    }
    navigate('${basePath}/state');
}
`