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