summaryrefslogtreecommitdiffstats
path: root/webapp/routes/route_integrations.jsx
blob: c7c7497b850fa15e9091c721ee1c516a77d3cf5c (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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.

import * as RouteUtils from 'routes/route_utils.jsx';

export default {
    path: 'integrations',
    getComponents: (location, callback) => {
        System.import('components/backstage/backstage_controller.jsx').then(RouteUtils.importComponentSuccess(callback));
    },
    indexRoute: {
        getComponents: (location, callback) => {
            System.import('components/integrations/components/integrations.jsx').then(RouteUtils.importComponentSuccess(callback));
        }
    },
    childRoutes: [
        {
            path: 'incoming_webhooks',
            indexRoute: {
                getComponents: (location, callback) => {
                    System.import('components/integrations/components/installed_incoming_webhooks.jsx').then(RouteUtils.importComponentSuccess(callback));
                }
            },
            childRoutes: [
                {
                    path: 'add',
                    getComponents: (location, callback) => {
                        System.import('components/integrations/components/add_incoming_webhook.jsx').then(RouteUtils.importComponentSuccess(callback));
                    }
                },
                {
                    path: 'edit',
                    getComponents: (location, callback) => {
                        System.import('components/integrations/components/edit_incoming_webhook.jsx').then(RouteUtils.importComponentSuccess(callback));
                    }
                }
            ]
        },
        {
            path: 'outgoing_webhooks',
            indexRoute: {
                getComponents: (location, callback) => {
                    System.import('components/integrations/components/installed_outgoing_webhooks.jsx').then(RouteUtils.importComponentSuccess(callback));
                }
            },
            childRoutes: [
                {
                    path: 'add',
                    getComponents: (location, callback) => {
                        System.import('components/integrations/components/add_outgoing_webhook.jsx').then(RouteUtils.importComponentSuccess(callback));
                    }
                },
                {
                    path: 'edit',
                    getComponents: (location, callback) => {
                        System.import('components/integrations/components/edit_outgoing_webhook.jsx').then(RouteUtils.importComponentSuccess(callback));
                    }
                }
            ]
        },
        {
            path: 'commands',
            getComponents: (location, callback) => {
                System.import('components/integrations/components/commands_container').then(RouteUtils.importComponentSuccess(callback));
            },
            indexRoute: {onEnter: (nextState, replace) => replace(nextState.location.pathname + '/installed')},
            childRoutes: [
                {
                    path: 'installed',
                    getComponents: (location, callback) => {
                        System.import('components/integrations/components/installed_commands').then(RouteUtils.importComponentSuccess(callback));
                    }
                },
                {
                    path: 'add',
                    getComponents: (location, callback) => {
                        System.import('components/integrations/components/add_command.jsx').then(RouteUtils.importComponentSuccess(callback));
                    }
                },
                {
                    path: 'edit',
                    getComponents: (location, callback) => {
                        System.import('components/integrations/components/edit_command.jsx').then(RouteUtils.importComponentSuccess(callback));
                    }
                },
                {
                    path: 'confirm',
                    getComponents: (location, callback) => {
                        System.import('components/integrations/components/confirm_integration').then(RouteUtils.importComponentSuccess(callback));
                    }
                }
            ]
        },
        {
            path: 'oauth2-apps',
            indexRoute: {
                getComponents: (location, callback) => {
                    System.import('components/integrations/components/installed_oauth_apps.jsx').then(RouteUtils.importComponentSuccess(callback));
                }
            },
            childRoutes: [
                {
                    path: 'add',
                    getComponents: (location, callback) => {
                        System.import('components/integrations/components/add_oauth_app.jsx').then(RouteUtils.importComponentSuccess(callback));
                    }
                }
            ]
        },
        {
            path: 'confirm',
            getComponents: (location, callback) => {
                System.import('components/integrations/components/confirm_integration').then(RouteUtils.importComponentSuccess(callback));
            }
        }
    ]
};