xref: /openbmc/webui-vue/src/router/routes.js (revision 2b33526c)
1816d947eSYoshie Muranakaimport AppLayout from '@/layouts/AppLayout.vue';
2816d947eSYoshie Muranakaimport ChangePassword from '@/views/ChangePassword';
3816d947eSYoshie Muranakaimport ConsoleLayout from '@/layouts/ConsoleLayout.vue';
4f67f769fSSandeepa Singhimport DateTime from '@/views/Settings/DateTime';
5828dda9bSDerick Montagueimport EventLogs from '@/views/Logs/EventLogs';
668cbbe90SSandeepa Singhimport FactoryReset from '@/views/Operations/FactoryReset';
768cbbe90SSandeepa Singhimport Firmware from '@/views/Operations/Firmware';
87affc529SSandeepa Singhimport Inventory from '@/views/HardwareStatus/Inventory';
968cbbe90SSandeepa Singhimport Kvm from '@/views/Operations/Kvm';
1068cbbe90SSandeepa Singhimport KvmConsole from '@/views/Operations/Kvm/KvmConsole';
11b440616cSSandeepa Singhimport Sessions from '../views/SecurityAndAccess/Sessions';
12b440616cSSandeepa Singhimport Ldap from '@/views/SecurityAndAccess/Ldap';
13b440616cSSandeepa Singhimport UserManagement from '@/views/SecurityAndAccess/UserManagement';
14816d947eSYoshie Muranakaimport Login from '@/views/Login';
15816d947eSYoshie Muranakaimport LoginLayout from '@/layouts/LoginLayout';
16f67f769fSSandeepa Singhimport Network from '@/views/Settings/Network';
17816d947eSYoshie Muranakaimport Overview from '@/views/Overview';
18816d947eSYoshie Muranakaimport PageNotFound from '@/views/PageNotFound';
197affc529SSandeepa Singhimport PostCodeLogs from '@/views/Logs/PostCodeLogs';
20f67f769fSSandeepa Singhimport PowerRestorePolicy from '@/views/Settings/PowerRestorePolicy';
21816d947eSYoshie Muranakaimport ProfileSettings from '@/views/ProfileSettings';
2268cbbe90SSandeepa Singhimport RebootBmc from '@/views/Operations/RebootBmc';
23b440616cSSandeepa Singhimport Policies from '@/views/SecurityAndAccess/Policies';
2405887b50SSandeepa Singhimport KeyClear from '@/views/Operations/KeyClear';
257affc529SSandeepa Singhimport Sensors from '@/views/HardwareStatus/Sensors';
2668cbbe90SSandeepa Singhimport SerialOverLan from '@/views/Operations/SerialOverLan';
2768cbbe90SSandeepa Singhimport SerialOverLanConsole from '@/views/Operations/SerialOverLan/SerialOverLanConsole';
2868cbbe90SSandeepa Singhimport ServerPowerOperations from '@/views/Operations/ServerPowerOperations';
29b440616cSSandeepa Singhimport Certificates from '@/views/SecurityAndAccess/Certificates';
3068cbbe90SSandeepa Singhimport VirtualMedia from '@/views/Operations/VirtualMedia';
316dba4be6SSandeepa Singhimport Power from '@/views/ResourceManagement/Power';
327c1cfe7eSKonstantin Aladyshevimport SnmpAlerts from '@/views/Settings/SnmpAlerts';
33f15cc7acSYoshie Muranakaimport i18n from '@/i18n';
34816d947eSYoshie Muranaka
35aeb19816SDamian Celicoconst roles = {
36aeb19816SDamian Celico  administrator: 'Administrator',
37aeb19816SDamian Celico  operator: 'Operator',
38aeb19816SDamian Celico  readonly: 'ReadOnly',
39aeb19816SDamian Celico  noaccess: 'NoAccess',
40aeb19816SDamian Celico};
41aeb19816SDamian Celico
42816d947eSYoshie Muranakaconst routes = [
43816d947eSYoshie Muranaka  {
44816d947eSYoshie Muranaka    path: '/login',
45816d947eSYoshie Muranaka    component: LoginLayout,
46816d947eSYoshie Muranaka    children: [
47816d947eSYoshie Muranaka      {
48816d947eSYoshie Muranaka        path: '',
49816d947eSYoshie Muranaka        name: 'login',
50816d947eSYoshie Muranaka        component: Login,
51816d947eSYoshie Muranaka        meta: {
52602e98aaSDerick Montague          title: i18n.t('appPageTitle.login'),
53602e98aaSDerick Montague        },
54816d947eSYoshie Muranaka      },
55816d947eSYoshie Muranaka      {
56816d947eSYoshie Muranaka        path: '/change-password',
57816d947eSYoshie Muranaka        name: 'change-password',
58816d947eSYoshie Muranaka        component: ChangePassword,
59816d947eSYoshie Muranaka        meta: {
60f15cc7acSYoshie Muranaka          title: i18n.t('appPageTitle.changePassword'),
61602e98aaSDerick Montague          requiresAuth: true,
62602e98aaSDerick Montague        },
63602e98aaSDerick Montague      },
64602e98aaSDerick Montague    ],
65816d947eSYoshie Muranaka  },
66816d947eSYoshie Muranaka  {
67816d947eSYoshie Muranaka    path: '/console',
68816d947eSYoshie Muranaka    component: ConsoleLayout,
69816d947eSYoshie Muranaka    meta: {
70602e98aaSDerick Montague      requiresAuth: true,
71816d947eSYoshie Muranaka    },
72816d947eSYoshie Muranaka    children: [
73816d947eSYoshie Muranaka      {
74816d947eSYoshie Muranaka        path: 'serial-over-lan-console',
75816d947eSYoshie Muranaka        name: 'serial-over-lan-console',
76816d947eSYoshie Muranaka        component: SerialOverLanConsole,
77816d947eSYoshie Muranaka        meta: {
78602e98aaSDerick Montague          title: i18n.t('appPageTitle.serialOverLan'),
79602e98aaSDerick Montague        },
80816d947eSYoshie Muranaka      },
81816d947eSYoshie Muranaka      {
82816d947eSYoshie Muranaka        path: 'kvm',
83816d947eSYoshie Muranaka        name: 'kvm-console',
84816d947eSYoshie Muranaka        component: KvmConsole,
85816d947eSYoshie Muranaka        meta: {
86602e98aaSDerick Montague          title: i18n.t('appPageTitle.kvm'),
87602e98aaSDerick Montague        },
88602e98aaSDerick Montague      },
89602e98aaSDerick Montague    ],
90816d947eSYoshie Muranaka  },
91816d947eSYoshie Muranaka  {
92816d947eSYoshie Muranaka    path: '/',
93816d947eSYoshie Muranaka    meta: {
94602e98aaSDerick Montague      requiresAuth: true,
95816d947eSYoshie Muranaka    },
96816d947eSYoshie Muranaka    component: AppLayout,
97816d947eSYoshie Muranaka    children: [
98816d947eSYoshie Muranaka      {
99816d947eSYoshie Muranaka        path: '',
100816d947eSYoshie Muranaka        name: 'overview',
101816d947eSYoshie Muranaka        component: Overview,
102816d947eSYoshie Muranaka        meta: {
103602e98aaSDerick Montague          title: i18n.t('appPageTitle.overview'),
104602e98aaSDerick Montague        },
105816d947eSYoshie Muranaka      },
106816d947eSYoshie Muranaka      {
107816d947eSYoshie Muranaka        path: '/profile-settings',
108816d947eSYoshie Muranaka        name: 'profile-settings',
109816d947eSYoshie Muranaka        component: ProfileSettings,
110816d947eSYoshie Muranaka        meta: {
111602e98aaSDerick Montague          title: i18n.t('appPageTitle.profileSettings'),
112602e98aaSDerick Montague        },
113816d947eSYoshie Muranaka      },
114816d947eSYoshie Muranaka      {
115828dda9bSDerick Montague        path: '/logs/event-logs',
116816d947eSYoshie Muranaka        name: 'event-logs',
117816d947eSYoshie Muranaka        component: EventLogs,
118816d947eSYoshie Muranaka        meta: {
119602e98aaSDerick Montague          title: i18n.t('appPageTitle.eventLogs'),
120602e98aaSDerick Montague        },
121816d947eSYoshie Muranaka      },
122816d947eSYoshie Muranaka      {
1237affc529SSandeepa Singh        path: '/logs/post-code-logs',
124512dfb70SDerick Montague        name: 'post-code-logs',
12506d53863SSandeepa Singh        component: PostCodeLogs,
12606d53863SSandeepa Singh        meta: {
12706d53863SSandeepa Singh          title: i18n.t('appPageTitle.postCodeLogs'),
12806d53863SSandeepa Singh        },
12906d53863SSandeepa Singh      },
13006d53863SSandeepa Singh      {
1317affc529SSandeepa Singh        path: '/hardware-status/inventory',
1327affc529SSandeepa Singh        name: 'inventory',
1337affc529SSandeepa Singh        component: Inventory,
1347affc529SSandeepa Singh        meta: {
1357affc529SSandeepa Singh          title: i18n.t('appPageTitle.inventory'),
1367affc529SSandeepa Singh        },
1377affc529SSandeepa Singh      },
1387affc529SSandeepa Singh      {
1397affc529SSandeepa Singh        path: '/hardware-status/sensors',
140816d947eSYoshie Muranaka        name: 'sensors',
141816d947eSYoshie Muranaka        component: Sensors,
142816d947eSYoshie Muranaka        meta: {
143602e98aaSDerick Montague          title: i18n.t('appPageTitle.sensors'),
144602e98aaSDerick Montague        },
145816d947eSYoshie Muranaka      },
146816d947eSYoshie Muranaka      {
147b440616cSSandeepa Singh        path: '/security-and-access/sessions',
148b440616cSSandeepa Singh        name: 'sessions',
149b440616cSSandeepa Singh        component: Sessions,
15034efde29SSukanya Pandey        meta: {
151b440616cSSandeepa Singh          title: i18n.t('appPageTitle.sessions'),
15234efde29SSukanya Pandey        },
15334efde29SSukanya Pandey      },
15434efde29SSukanya Pandey      {
155b440616cSSandeepa Singh        path: '/security-and-access/ldap',
156816d947eSYoshie Muranaka        name: 'ldap',
157816d947eSYoshie Muranaka        component: Ldap,
158816d947eSYoshie Muranaka        meta: {
159602e98aaSDerick Montague          title: i18n.t('appPageTitle.ldap'),
160602e98aaSDerick Montague        },
161816d947eSYoshie Muranaka      },
162816d947eSYoshie Muranaka      {
163b440616cSSandeepa Singh        path: '/security-and-access/user-management',
1646ad19aacSkirankumarb07        name: 'user-management',
165b440616cSSandeepa Singh        component: UserManagement,
166816d947eSYoshie Muranaka        meta: {
167b440616cSSandeepa Singh          title: i18n.t('appPageTitle.userManagement'),
168602e98aaSDerick Montague        },
169816d947eSYoshie Muranaka      },
170816d947eSYoshie Muranaka      {
171b440616cSSandeepa Singh        path: '/security-and-access/policies',
172b440616cSSandeepa Singh        name: 'policies',
173b440616cSSandeepa Singh        component: Policies,
174816d947eSYoshie Muranaka        meta: {
175b440616cSSandeepa Singh          title: i18n.t('appPageTitle.policies'),
176b440616cSSandeepa Singh        },
177b440616cSSandeepa Singh      },
178b440616cSSandeepa Singh      {
179b440616cSSandeepa Singh        path: '/security-and-access/certificates',
180b440616cSSandeepa Singh        name: 'certificates',
181b440616cSSandeepa Singh        component: Certificates,
182b440616cSSandeepa Singh        meta: {
183b440616cSSandeepa Singh          title: i18n.t('appPageTitle.certificates'),
184602e98aaSDerick Montague        },
185816d947eSYoshie Muranaka      },
186816d947eSYoshie Muranaka      {
187f67f769fSSandeepa Singh        path: '/settings/date-time',
188f67f769fSSandeepa Singh        name: 'date-time',
189f67f769fSSandeepa Singh        component: DateTime,
190816d947eSYoshie Muranaka        meta: {
191f67f769fSSandeepa Singh          title: i18n.t('appPageTitle.dateTime'),
192602e98aaSDerick Montague        },
193816d947eSYoshie Muranaka      },
194816d947eSYoshie Muranaka      {
1957c1cfe7eSKonstantin Aladyshev        path: '/settings/snmp-alerts',
1967c1cfe7eSKonstantin Aladyshev        name: 'snmp-alerts',
1977c1cfe7eSKonstantin Aladyshev        component: SnmpAlerts,
1987c1cfe7eSKonstantin Aladyshev        meta: {
1997c1cfe7eSKonstantin Aladyshev          title: i18n.t('appPageTitle.snmpAlerts'),
2007c1cfe7eSKonstantin Aladyshev        },
2017c1cfe7eSKonstantin Aladyshev      },
2027c1cfe7eSKonstantin Aladyshev      {
20368cbbe90SSandeepa Singh        path: '/operations/factory-reset',
204da9f0a6eSDerick Montague        name: 'factory-reset',
205da9f0a6eSDerick Montague        component: FactoryReset,
206da9f0a6eSDerick Montague        meta: {
207da9f0a6eSDerick Montague          title: i18n.t('appPageTitle.factoryReset'),
208da9f0a6eSDerick Montague        },
209da9f0a6eSDerick Montague      },
210da9f0a6eSDerick Montague      {
21105887b50SSandeepa Singh        path: '/operations/key-clear',
21205887b50SSandeepa Singh        name: 'key-clear',
21305887b50SSandeepa Singh        component: KeyClear,
21405887b50SSandeepa Singh        meta: {
21505887b50SSandeepa Singh          title: i18n.t('appPageTitle.keyClear'),
21605887b50SSandeepa Singh        },
21705887b50SSandeepa Singh      },
21805887b50SSandeepa Singh      {
21968cbbe90SSandeepa Singh        path: '/operations/kvm',
220816d947eSYoshie Muranaka        name: 'kvm',
221816d947eSYoshie Muranaka        component: Kvm,
222816d947eSYoshie Muranaka        meta: {
223602e98aaSDerick Montague          title: i18n.t('appPageTitle.kvm'),
224602e98aaSDerick Montague        },
225816d947eSYoshie Muranaka      },
226816d947eSYoshie Muranaka      {
22768cbbe90SSandeepa Singh        path: '/operations/firmware',
22868cbbe90SSandeepa Singh        name: 'firmware',
22968cbbe90SSandeepa Singh        component: Firmware,
23068cbbe90SSandeepa Singh        meta: {
23168cbbe90SSandeepa Singh          title: i18n.t('appPageTitle.firmware'),
23268cbbe90SSandeepa Singh        },
23368cbbe90SSandeepa Singh      },
23468cbbe90SSandeepa Singh      {
235f67f769fSSandeepa Singh        path: '/settings/network',
236f67f769fSSandeepa Singh        name: 'network',
237f67f769fSSandeepa Singh        component: Network,
238f67f769fSSandeepa Singh        meta: {
239f67f769fSSandeepa Singh          title: i18n.t('appPageTitle.network'),
240f67f769fSSandeepa Singh        },
241f67f769fSSandeepa Singh      },
242f67f769fSSandeepa Singh      {
243f67f769fSSandeepa Singh        path: '/settings/power-restore-policy',
244be6858c0SSukanya Pandey        name: 'power-restore-policy',
245be6858c0SSukanya Pandey        component: PowerRestorePolicy,
246be6858c0SSukanya Pandey        meta: {
247be6858c0SSukanya Pandey          title: i18n.t('appPageTitle.powerRestorePolicy'),
248be6858c0SSukanya Pandey        },
249be6858c0SSukanya Pandey      },
250be6858c0SSukanya Pandey      {
2516dba4be6SSandeepa Singh        path: '/resource-management/power',
2526dba4be6SSandeepa Singh        name: 'power',
2536dba4be6SSandeepa Singh        component: Power,
2546dba4be6SSandeepa Singh        meta: {
2556dba4be6SSandeepa Singh          title: i18n.t('appPageTitle.power'),
2566dba4be6SSandeepa Singh        },
2576dba4be6SSandeepa Singh      },
2586dba4be6SSandeepa Singh      {
25968cbbe90SSandeepa Singh        path: '/operations/reboot-bmc',
260816d947eSYoshie Muranaka        name: 'reboot-bmc',
261816d947eSYoshie Muranaka        component: RebootBmc,
262816d947eSYoshie Muranaka        meta: {
263602e98aaSDerick Montague          title: i18n.t('appPageTitle.rebootBmc'),
264602e98aaSDerick Montague        },
265816d947eSYoshie Muranaka      },
266816d947eSYoshie Muranaka      {
26768cbbe90SSandeepa Singh        path: '/operations/serial-over-lan',
268816d947eSYoshie Muranaka        name: 'serial-over-lan',
269816d947eSYoshie Muranaka        component: SerialOverLan,
270816d947eSYoshie Muranaka        meta: {
271602e98aaSDerick Montague          title: i18n.t('appPageTitle.serialOverLan'),
272aeb19816SDamian Celico          exclusiveToRoles: [roles.administrator],
273602e98aaSDerick Montague        },
274816d947eSYoshie Muranaka      },
275816d947eSYoshie Muranaka      {
27668cbbe90SSandeepa Singh        path: '/operations/server-power-operations',
277816d947eSYoshie Muranaka        name: 'server-power-operations',
278816d947eSYoshie Muranaka        component: ServerPowerOperations,
279816d947eSYoshie Muranaka        meta: {
280602e98aaSDerick Montague          title: i18n.t('appPageTitle.serverPowerOperations'),
281602e98aaSDerick Montague        },
282816d947eSYoshie Muranaka      },
283816d947eSYoshie Muranaka      {
28468cbbe90SSandeepa Singh        path: '/operations/virtual-media',
285816d947eSYoshie Muranaka        name: 'virtual-media',
286816d947eSYoshie Muranaka        component: VirtualMedia,
287816d947eSYoshie Muranaka        meta: {
288602e98aaSDerick Montague          title: i18n.t('appPageTitle.virtualMedia'),
289aeb19816SDamian Celico          exclusiveToRoles: [roles.administrator],
290602e98aaSDerick Montague        },
291816d947eSYoshie Muranaka      },
292816d947eSYoshie Muranaka      {
293816d947eSYoshie Muranaka        path: '*',
294816d947eSYoshie Muranaka        name: 'page-not-found',
295816d947eSYoshie Muranaka        component: PageNotFound,
296816d947eSYoshie Muranaka        meta: {
297602e98aaSDerick Montague          title: i18n.t('appPageTitle.pageNotFound'),
298602e98aaSDerick Montague        },
299602e98aaSDerick Montague      },
300602e98aaSDerick Montague    ],
301602e98aaSDerick Montague  },
302816d947eSYoshie Muranaka];
303816d947eSYoshie Muranaka
304*2b33526cSPaul Fertserexport { routes as default, roles };
305