1import AppLayout from '@/layouts/AppLayout.vue'; 2import ChangePassword from '@/views/ChangePassword'; 3import ClientSessions from '@/views/AccessControl/ClientSessions'; 4import ConsoleLayout from '@/layouts/ConsoleLayout.vue'; 5import DateTimeSettings from '@/views/Configuration/DateTimeSettings'; 6import EventLogs from '@/views/Health/EventLogs'; 7import Firmware from '@/views/Configuration/Firmware'; 8import HardwareStatus from '@/views/Health/HardwareStatus'; 9import Kvm from '@/views/Control/Kvm'; 10import KvmConsole from '@/views/Control/Kvm/KvmConsole'; 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/client-sessions', 127 name: 'client-sessions', 128 component: ClientSessions, 129 meta: { 130 title: i18n.t('appPageTitle.clientSessions'), 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