summaryrefslogtreecommitdiffstats
path: root/webapp/components/user_settings/user_settings_security/index.js
blob: a3e83d7de17984eb2eb73ef42ac071670d1f0fd2 (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
// Copyright (c) 2017 Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.

import {connect} from 'react-redux';
import {bindActionCreators} from 'redux';
import {getMe, getUserAccessTokensForUser, createUserAccessToken, revokeUserAccessToken, clearUserAccessTokens} from 'mattermost-redux/actions/users';
import * as UserUtils from 'mattermost-redux/utils/user_utils';

import SecurityTab from './user_settings_security.jsx';

function mapStateToProps(state, ownProps) {
    const tokensEnabled = state.entities.general.config.EnableUserAccessTokens === 'true';
    const userHasTokenRole = UserUtils.hasUserAccessTokenRole(ownProps.user.roles) || UserUtils.isSystemAdmin(ownProps.user.roles);

    return {
        ...ownProps,
        userAccessTokens: state.entities.users.myUserAccessTokens,
        canUseAccessTokens: tokensEnabled && userHasTokenRole
    };
}

function mapDispatchToProps(dispatch) {
    return {
        actions: bindActionCreators({
            getMe,
            getUserAccessTokensForUser,
            createUserAccessToken,
            revokeUserAccessToken,
            clearUserAccessTokens
        }, dispatch)
    };
}

export default connect(mapStateToProps, mapDispatchToProps)(SecurityTab);