1import AppLayout from '@/layouts/AppLayout.vue'; 2import ChangePassword from '@/views/ChangePassword'; 3import Sessions from '@/views/SecurityAndAccess/Sessions'; 4import ConsoleLayout from '@/layouts/ConsoleLayout.vue'; 5import DateTime from '@/views/Settings/DateTime'; 6import EventLogs from '@/views/Logs/EventLogs'; 7import Firmware from '@/views/Operations/Firmware'; 8import Inventory from '@/views/HardwareStatus/Inventory'; 9import Kvm from '@/views/Operations/Kvm'; 10import KvmConsole from '@/views/Operations/Kvm/KvmConsole'; 11import UserManagement from '@/views/SecurityAndAccess/UserManagement'; 12import Login from '@/views/Login'; 13import LoginLayout from '@/layouts/LoginLayout'; 14import ManagePowerUsage from '@/views/Operations/ManagePowerUsage'; 15import Network from '@/views/Settings/Network'; 16import Overview from '@/views/Overview'; 17import PageNotFound from '@/views/PageNotFound'; 18import ProfileSettings from '@/views/ProfileSettings'; 19import RebootBmc from '@/views/Operations/RebootBmc'; 20import Policies from '@/views/SecurityAndAccess/Policies'; 21import Sensors from '@/views/HardwareStatus/Sensors'; 22import SerialOverLan from '@/views/Operations/SerialOverLan'; 23import SerialOverLanConsole from '@/views/Operations/SerialOverLan/SerialOverLanConsole'; 24import ServerPowerOperations from '@/views/Operations/ServerPowerOperations'; 25import Certificates from '@/views/SecurityAndAccess/Certificates'; 26import VirtualMedia from '@/views/Operations/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: '/logs/event-logs', 103 name: 'event-logs', 104 component: EventLogs, 105 meta: { 106 title: i18n.t('appPageTitle.eventLogs'), 107 }, 108 }, 109 { 110 path: '/hardware-status/inventory', 111 name: 'inventory', 112 component: Inventory, 113 meta: { 114 title: i18n.t('appPageTitle.Inventory'), 115 }, 116 }, 117 { 118 path: '/hardware-status/sensors', 119 name: 'sensors', 120 component: Sensors, 121 meta: { 122 title: i18n.t('appPageTitle.sensors'), 123 }, 124 }, 125 { 126 path: '/security-and-access/sessions', 127 name: 'sessions', 128 component: Sessions, 129 meta: { 130 title: i18n.t('appPageTitle.sessions'), 131 }, 132 }, 133 { 134 path: '/security-and-access/user-management', 135 name: 'user-management', 136 component: UserManagement, 137 meta: { 138 title: i18n.t('appPageTitle.userManagement'), 139 }, 140 }, 141 { 142 path: '/security-and-access/policies', 143 name: 'policies', 144 component: Policies, 145 meta: { 146 title: i18n.t('appPageTitle.policies'), 147 }, 148 }, 149 { 150 path: '/security-and-access/certificates', 151 name: 'certificates', 152 component: Certificates, 153 meta: { 154 title: i18n.t('appPageTitle.certificates'), 155 }, 156 }, 157 { 158 path: '/settings/date-time', 159 name: 'date-time', 160 component: DateTime, 161 meta: { 162 title: i18n.t('appPageTitle.dateTime'), 163 }, 164 }, 165 { 166 path: '/operations/kvm', 167 name: 'kvm', 168 component: Kvm, 169 meta: { 170 title: i18n.t('appPageTitle.kvm'), 171 }, 172 }, 173 { 174 path: '/operations/firmware', 175 name: 'firmware', 176 component: Firmware, 177 meta: { 178 title: i18n.t('appPageTitle.firmware'), 179 }, 180 }, 181 { 182 path: '/operations/manage-power-usage', 183 name: 'manage-power-usage', 184 component: ManagePowerUsage, 185 meta: { 186 title: i18n.t('appPageTitle.managePowerUsage'), 187 }, 188 }, 189 { 190 path: '/settings/network', 191 name: 'network', 192 component: Network, 193 meta: { 194 title: i18n.t('appPageTitle.network'), 195 }, 196 }, 197 { 198 path: '/operations/reboot-bmc', 199 name: 'reboot-bmc', 200 component: RebootBmc, 201 meta: { 202 title: i18n.t('appPageTitle.rebootBmc'), 203 }, 204 }, 205 { 206 path: '/operations/serial-over-lan', 207 name: 'serial-over-lan', 208 component: SerialOverLan, 209 meta: { 210 title: i18n.t('appPageTitle.serialOverLan'), 211 }, 212 }, 213 { 214 path: '/operations/server-power-operations', 215 name: 'server-power-operations', 216 component: ServerPowerOperations, 217 meta: { 218 title: i18n.t('appPageTitle.serverPowerOperations'), 219 }, 220 }, 221 { 222 path: '/operations/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