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 SecuritySettings from '@/views/Configuration/SecuritySettings'; 21import Sensors from '@/views/Health/Sensors'; 22import SerialOverLan from '@/views/Control/SerialOverLan'; 23import SerialOverLanConsole from '@/views/Control/SerialOverLan/SerialOverLanConsole'; 24import ServerLed from '@/views/Control/ServerLed'; 25import ServerPowerOperations from '@/views/Control/ServerPowerOperations'; 26import SslCertificates from '@/views/AccessControl/SslCertificates'; 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/client-sessions', 128 name: 'client-sessions', 129 component: ClientSessions, 130 meta: { 131 title: i18n.t('appPageTitle.clientSessions'), 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: '/configuration/security-settings', 192 name: 'security-settings', 193 component: SecuritySettings, 194 meta: { 195 title: i18n.t('appPageTitle.securitySettings'), 196 }, 197 }, 198 { 199 path: '/control/reboot-bmc', 200 name: 'reboot-bmc', 201 component: RebootBmc, 202 meta: { 203 title: i18n.t('appPageTitle.rebootBmc'), 204 }, 205 }, 206 { 207 path: '/control/server-led', 208 name: 'server-led', 209 component: ServerLed, 210 meta: { 211 title: i18n.t('appPageTitle.serverLed'), 212 }, 213 }, 214 { 215 path: '/control/serial-over-lan', 216 name: 'serial-over-lan', 217 component: SerialOverLan, 218 meta: { 219 title: i18n.t('appPageTitle.serialOverLan'), 220 }, 221 }, 222 { 223 path: '/control/server-power-operations', 224 name: 'server-power-operations', 225 component: ServerPowerOperations, 226 meta: { 227 title: i18n.t('appPageTitle.serverPowerOperations'), 228 }, 229 }, 230 { 231 path: '/control/virtual-media', 232 name: 'virtual-media', 233 component: VirtualMedia, 234 meta: { 235 title: i18n.t('appPageTitle.virtualMedia'), 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