const traps_config = {
    types: {
        password_reset: {
            redirect_to: '/password/reset',
            assume_trust: true,
            allowed_routes: [
                '/password/reset',
                '/api/v1/password/resets',
                '/auth/logout',
                '/api/v1/locale/batch',
            ],
        },
        mfa_challenge: {
            redirect_to: '/auth/mfa/challenge',
            allowed_routes: [
                '/auth/mfa/recovery',
                '/auth/mfa/challenge',
                '/api/v1/auth/mfa/attempt',
                '/auth/logout',
                '/api/v1/auth/mfa/recovery/attempt',
                '/api/v1/locale/batch',
            ],
        },
        login_message: {
            redirect_to: '/auth/login-message',
            allowed_routes: [
                '/auth/logout',
                '/auth/login-message',
                '/auth/login-message/dismiss',
            ],
        },
        registrant_flow: {
            redirect_to: '/auth/finish-registration',
            allowed_routes: [
                '/auth/finish-registration',
                '/auth/logout',
                '/auth/login',
                '/api/v1/locale/batch',
                '/api/v1/auth/validate/username',
                '/api/v1/auth/attempt',
                '/api/v1/vault/get-trust-payload',
            ],
        },
        verify_email: {
            redirect_to: '/auth/verify-email',
            allowed_routes: [
                '/auth/verify-email',
                '/auth/verify-email/sent',
                '/auth/logout',
                '/auth/login',
                '/api/v1/locale/batch',
                '/api/v1/auth/validate/username',
                '/api/v1/auth/attempt',
                '/api/v1/vault/get-trust-payload',
                '/auth/action/*',
                '/api/v1/message/banners',
                '/api/v1/message/banners/read/*',
            ],
        },
    },
}

module.exports = exports = traps_config
