/
routes.tsx
239 lines (212 loc) · 6.84 KB
/
routes.tsx
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
import { lazy } from 'react';
import { createRouteGroup } from '../../lib/createRouteGroup';
declare module '@rocket.chat/ui-contexts' {
interface IRouterPaths {
'admin-index': {
pathname: '/admin';
pattern: '/admin';
};
'custom-sounds': {
pathname: `/admin/sounds${`/${string}` | ''}${`/${string}` | ''}`;
pattern: '/admin/sounds/:context?/:id?';
};
'info': {
pathname: '/admin/info';
pattern: '/admin/info';
};
'workspace': {
pathname: '/admin/workspace';
pattern: '/admin/workspace';
};
'admin-import': {
pathname: '/admin/import';
pattern: '/admin/import';
};
'admin-import-new': {
pathname: `/admin/import/new${`/${string}` | ''}`;
pattern: '/admin/import/new/:importerKey?';
};
'admin-import-prepare': {
pathname: '/admin/import/prepare';
pattern: '/admin/import/prepare';
};
'admin-import-progress': {
pathname: '/admin/import/progress';
pattern: '/admin/import/progress';
};
'admin-mailer': {
pathname: '/admin/mailer';
pattern: '/admin/mailer';
};
'admin-oauth-apps': {
pathname: `/admin/third-party-login${`/${'new' | 'edit'}` | ''}${`/${string}` | ''}`;
pattern: '/admin/third-party-login/:context?/:id?';
};
'admin-integrations': {
pathname: `/admin/integrations${`/${string}` | ''}${`/${string}` | ''}${`/${string}` | ''}`;
pattern: '/admin/integrations/:context?/:type?/:id?';
};
'user-status': {
pathname: `/admin/user-status${`/${string}` | ''}${`/${string}` | ''}`;
pattern: '/admin/user-status/:context?/:id?';
};
'emoji-custom': {
pathname: `/admin/emoji${`/${string}` | ''}${`/${string}` | ''}`;
pattern: '/admin/emoji/:context?/:id?';
};
'admin-users': {
pathname: `/admin/users${`/${string}` | ''}${`/${string}` | ''}`;
pattern: '/admin/users/:context?/:id?';
};
'admin-rooms': {
pathname: `/admin/rooms${`/${string}` | ''}${`/${string}` | ''}`;
pattern: '/admin/rooms/:context?/:id?';
};
'invites': {
pathname: '/admin/invites';
pattern: '/admin/invites';
};
'admin-view-logs': {
pathname: '/admin/reports';
pattern: '/admin/reports';
};
'federation-dashboard': {
pathname: '/admin/federation';
pattern: '/admin/federation';
};
'admin-permissions': {
pathname: `/admin/permissions${`/${string}` | ''}${`/${string}` | ''}`;
pattern: '/admin/permissions/:context?/:_id?';
};
'admin-email-inboxes': {
pathname: `/admin/email-inboxes${`/${string}` | ''}${`/${string}` | ''}`;
pattern: '/admin/email-inboxes/:context?/:_id?';
};
'admin-settings': {
pathname: `/admin/settings${`/${string}` | ''}`;
pattern: '/admin/settings/:group?';
};
'device-management': {
pathname: `/admin/device-management${`/${string}` | ''}${`/${string}` | ''}`;
pattern: '/admin/device-management/:context?/:id?';
};
'engagement-dashboard': {
pathname: `/admin/engagement${`/${string}` | ''}`;
pattern: '/admin/engagement/:tab?';
};
'moderation-console': {
pathname: `/admin/moderation${`/${string}` | ''}${`/${string}` | ''}${`/${string}` | ''}`;
pattern: '/admin/moderation/:tab?/:context?/:id?';
};
'subscription': {
pathname: `/admin/subscription`;
pattern: '/admin/subscription';
};
}
}
export const registerAdminRoute = createRouteGroup(
'admin',
'/admin',
lazy(() => import('./AdministrationRouter')),
);
registerAdminRoute('/sounds/:context?/:id?', {
name: 'custom-sounds',
component: lazy(() => import('./customSounds/CustomSoundsRoute')),
});
/** @deprecated in favor of `/workspace` route, this is a fallback to work in Mobile app, should be removed in the next major */
registerAdminRoute('/info', {
name: 'info',
component: lazy(() => import('./workspace/WorkspaceRoute')),
});
registerAdminRoute('/workspace', {
name: 'workspace',
component: lazy(() => import('./workspace/WorkspaceRoute')),
});
registerAdminRoute('/import', {
name: 'admin-import',
component: lazy(() => import('./import/ImportRoute')),
props: { page: 'history' },
});
registerAdminRoute('/import/new/:importerKey?', {
name: 'admin-import-new',
component: lazy(() => import('./import/ImportRoute')),
props: { page: 'new' },
});
registerAdminRoute('/import/prepare', {
name: 'admin-import-prepare',
component: lazy(() => import('./import/ImportRoute')),
props: { page: 'prepare' },
});
registerAdminRoute('/import/progress', {
name: 'admin-import-progress',
component: lazy(() => import('./import/ImportRoute')),
props: { page: 'progress' },
});
registerAdminRoute('/mailer', {
name: 'admin-mailer',
component: lazy(() => import('./mailer/MailerRoute')),
});
registerAdminRoute('/third-party-login/:context?/:id?', {
name: 'admin-oauth-apps',
component: lazy(() => import('./oauthApps/OAuthAppsRoute')),
});
registerAdminRoute('/integrations/:context?/:type?/:id?', {
name: 'admin-integrations',
component: lazy(() => import('./integrations/IntegrationsRoute')),
});
registerAdminRoute('/user-status/:context?/:id?', {
name: 'user-status',
component: lazy(() => import('./customUserStatus/CustomUserStatusRoute')),
});
registerAdminRoute('/emoji/:context?/:id?', {
name: 'emoji-custom',
component: lazy(() => import('./customEmoji/CustomEmojiRoute')),
});
registerAdminRoute('/users/:context?/:id?', {
name: 'admin-users',
component: lazy(() => import('./users/AdminUsersRoute')),
});
registerAdminRoute('/rooms/:context?/:id?', {
name: 'admin-rooms',
component: lazy(() => import('./rooms/RoomsRoute')),
});
registerAdminRoute('/invites', {
name: 'invites',
component: lazy(() => import('./invites/InvitesRoute')),
});
registerAdminRoute('/reports', {
name: 'admin-view-logs',
component: lazy(() => import('./viewLogs/ViewLogsRoute')),
});
registerAdminRoute('/federation', {
name: 'federation-dashboard',
component: lazy(() => import('./federationDashboard/FederationDashboardRoute')),
});
registerAdminRoute('/permissions/:context?/:_id?', {
name: 'admin-permissions',
component: lazy(() => import('./permissions/PermissionsRouter')),
});
registerAdminRoute('/email-inboxes/:context?/:_id?', {
name: 'admin-email-inboxes',
component: lazy(() => import('./emailInbox/EmailInboxRoute')),
});
registerAdminRoute('/settings/:group?', {
name: 'admin-settings',
component: lazy(() => import('./settings/SettingsRoute')),
});
registerAdminRoute('/moderation/:tab?/:context?/:id?', {
name: 'moderation-console',
component: lazy(() => import('./moderation/ModerationConsoleRoute')),
});
registerAdminRoute('/engagement/:tab?', {
name: 'engagement-dashboard',
component: lazy(() => import('../../../ee/client/views/admin/engagementDashboard/EngagementDashboardRoute')),
});
registerAdminRoute('/device-management/:context?/:id?', {
name: 'device-management',
component: lazy(() => import('../../../ee/client/views/admin/deviceManagement/DeviceManagementAdminRoute')),
});
registerAdminRoute('/subscription', {
name: 'subscription',
component: lazy(() => import('./subscription/SubscriptionRoute')),
});