xref: /openbmc/webui-vue/src/router/routes.js (revision 3ec4c049)
1import AppLayout from '@/layouts/AppLayout.vue';
2import ChangePassword from '@/views/ChangePassword';
3import ConsoleLayout from '@/layouts/ConsoleLayout.vue';
4import DateTimeSettings from '@/views/Configuration/DateTimeSettings';
5import EventLogs from '@/views/Health/EventLogs';
6import Firmware from '@/views/Configuration/Firmware';
7import HardwareStatus from '@/views/Health/HardwareStatus';
8import Kvm from '@/views/Control/Kvm';
9import KvmConsole from '@/views/Control/Kvm/KvmConsole';
10import Ldap from '@/views/AccessControl/Ldap';
11import LocalUserManagement from '@/views/AccessControl/LocalUserManagement';
12import Login from '@/views/Login';
13import LoginLayout from '@/layouts/LoginLayout';
14import ManagePowerUsage from '@/views/Control/ManagePowerUsage';
15import NetworkSettings from '@/views/Configuration/NetworkSettings';
16import Overview from '@/views/Overview';
17import PageNotFound from '@/views/PageNotFound';
18import ProfileSettings from '@/views/ProfileSettings';
19import RebootBmc from '@/views/Control/RebootBmc';
20import Sensors from '@/views/Health/Sensors';
21import SerialOverLan from '@/views/Control/SerialOverLan';
22import SerialOverLanConsole from '@/views/Control/SerialOverLan/SerialOverLanConsole';
23import ServerLed from '@/views/Control/ServerLed';
24import ServerPowerOperations from '@/views/Control/ServerPowerOperations';
25import SslCertificates from '@/views/AccessControl/SslCertificates';
26import Unauthorized from '@/views/Unauthorized';
27import VirtualMedia from '@/views/Control/VirtualMedia';
28import i18n from '@/i18n';
29
30const routes = [
31  {
32    path: '/login',
33    component: LoginLayout,
34    children: [
35      {
36        path: '',
37        name: 'login',
38        component: Login,
39        meta: {
40          title: i18n.t('appPageTitle.login')
41        }
42      },
43      {
44        path: '/change-password',
45        name: 'change-password',
46        component: ChangePassword,
47        meta: {
48          title: i18n.t('appPageTitle.changePassword'),
49          requiresAuth: true
50        }
51      }
52    ]
53  },
54  {
55    path: '/console',
56    component: ConsoleLayout,
57    meta: {
58      requiresAuth: true
59    },
60    children: [
61      {
62        path: 'serial-over-lan-console',
63        name: 'serial-over-lan-console',
64        component: SerialOverLanConsole,
65        meta: {
66          title: i18n.t('appPageTitle.serialOverLan')
67        }
68      },
69      {
70        path: 'kvm',
71        name: 'kvm-console',
72        component: KvmConsole,
73        meta: {
74          title: i18n.t('appPageTitle.kvm')
75        }
76      }
77    ]
78  },
79  {
80    path: '/',
81    meta: {
82      requiresAuth: true
83    },
84    component: AppLayout,
85    children: [
86      {
87        path: '',
88        name: 'overview',
89        component: Overview,
90        meta: {
91          title: i18n.t('appPageTitle.overview')
92        }
93      },
94      {
95        path: '/profile-settings',
96        name: 'profile-settings',
97        component: ProfileSettings,
98        meta: {
99          title: i18n.t('appPageTitle.profileSettings')
100        }
101      },
102      {
103        path: '/health/event-logs',
104        name: 'event-logs',
105        component: EventLogs,
106        meta: {
107          title: i18n.t('appPageTitle.eventLogs')
108        }
109      },
110      {
111        path: '/health/hardware-status',
112        name: 'hardware-status',
113        component: HardwareStatus,
114        meta: {
115          title: i18n.t('appPageTitle.hardwareStatus')
116        }
117      },
118      {
119        path: '/health/sensors',
120        name: 'sensors',
121        component: Sensors,
122        meta: {
123          title: i18n.t('appPageTitle.sensors')
124        }
125      },
126      {
127        path: '/access-control/ldap',
128        name: 'ldap',
129        component: Ldap,
130        meta: {
131          title: i18n.t('appPageTitle.ldap')
132        }
133      },
134      {
135        path: '/access-control/local-user-management',
136        name: 'local-users',
137        component: LocalUserManagement,
138        meta: {
139          title: i18n.t('appPageTitle.localUserManagement')
140        }
141      },
142      {
143        path: '/access-control/ssl-certificates',
144        name: 'ssl-certificates',
145        component: SslCertificates,
146        meta: {
147          title: i18n.t('appPageTitle.sslCertificates')
148        }
149      },
150      {
151        path: '/configuration/date-time-settings',
152        name: 'date-time-settings',
153        component: DateTimeSettings,
154        meta: {
155          title: i18n.t('appPageTitle.dateTimeSettings')
156        }
157      },
158      {
159        path: '/configuration/firmware',
160        name: 'firmware',
161        component: Firmware,
162        meta: {
163          title: i18n.t('appPageTitle.firmware')
164        }
165      },
166      {
167        path: '/control/kvm',
168        name: 'kvm',
169        component: Kvm,
170        meta: {
171          title: i18n.t('appPageTitle.kvm')
172        }
173      },
174      {
175        path: '/control/manage-power-usage',
176        name: 'manage-power-usage',
177        component: ManagePowerUsage,
178        meta: {
179          title: i18n.t('appPageTitle.managePowerUsage')
180        }
181      },
182      {
183        path: '/configuration/network-settings',
184        name: 'network-settings',
185        component: NetworkSettings,
186        meta: {
187          title: i18n.t('appPageTitle.networkSettings')
188        }
189      },
190      {
191        path: '/control/reboot-bmc',
192        name: 'reboot-bmc',
193        component: RebootBmc,
194        meta: {
195          title: i18n.t('appPageTitle.rebootBmc')
196        }
197      },
198      {
199        path: '/control/server-led',
200        name: 'server-led',
201        component: ServerLed,
202        meta: {
203          title: i18n.t('appPageTitle.serverLed')
204        }
205      },
206      {
207        path: '/control/serial-over-lan',
208        name: 'serial-over-lan',
209        component: SerialOverLan,
210        meta: {
211          title: i18n.t('appPageTitle.serialOverLan')
212        }
213      },
214      {
215        path: '/control/server-power-operations',
216        name: 'server-power-operations',
217        component: ServerPowerOperations,
218        meta: {
219          title: i18n.t('appPageTitle.serverPowerOperations')
220        }
221      },
222      {
223        path: '/control/virtual-media',
224        name: 'virtual-media',
225        component: VirtualMedia,
226        meta: {
227          title: i18n.t('appPageTitle.virtualMedia')
228        }
229      },
230      {
231        path: '/unauthorized',
232        name: 'unauthorized',
233        component: Unauthorized,
234        meta: {
235          title: i18n.t('appPageTitle.unauthorized')
236        }
237      },
238      {
239        path: '*',
240        name: 'page-not-found',
241        component: PageNotFound,
242        meta: {
243          title: i18n.t('appPageTitle.pageNotFound')
244        }
245      }
246    ]
247  }
248];
249
250export default routes;
251