summaryrefslogtreecommitdiffstats
path: root/webapp/routes/route_utils.jsx
blob: 17fdc291d8e6acccec6746dd4f41802e3afe988a (plain)
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
32
33
34
35
36
37
38
39
40
41
42
43
// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.

import UserStore from 'stores/user_store.jsx';
import {ErrorPageTypes} from 'utils/constants.jsx';

export function importComponentSuccess(callback) {
    return (comp) => callback(null, comp.default);
}

export function createGetChildComponentsFunction(arrayOfComponents) {
    return (locaiton, callback) => callback(null, arrayOfComponents);
}

export const notFoundParams = {
    type: ErrorPageTypes.PAGE_NOT_FOUND
};

const mfaPaths = [
    '/mfa/setup',
    '/mfa/confirm'
];

const mfaAuthServices = [
    '',
    'email',
    'ldap'
];

export function checkIfMFARequired(state) {
    if (window.mm_license.MFA === 'true' &&
            window.mm_config.EnableMultifactorAuthentication === 'true' &&
            window.mm_config.EnforceMultifactorAuthentication === 'true' &&
            mfaPaths.indexOf(state.location.pathname) === -1) {
        const user = UserStore.getCurrentUser();
        if (user && !user.mfa_active &&
                mfaAuthServices.indexOf(user.auth_service) !== -1) {
            return true;
        }
    }

    return false;
}