/* eslint-disable */
/**
* @module routes
* @category Router
*/
import envService from '@/services/env-service.js'
import {
areModulesWhitelisted,
getWhitelistedModules,
} from '@/services/modules-service.js'
/**
* @todo Add functionId if missing (To enable route auditing)
*/
let routes = [
...(envService.isProduction()
? []
: [
{
path: '/test',
name: 'test',
component: () => import('@/views/Test.vue'),
props: {
vehicleId: 20499,
date: '2022-03-4',
isTest: true,
timeTo: '09:00',
isTest: true,
datesFormatted: '01/01/2019 08:30 - 02/01/2019 18:30',
vehicleName: 'BOM01',
},
},
]),
{
path: '/login',
name: 'login_screen',
component: () =>
import(/* webpackChunkName: "login" */ '../views/LoginModule.vue'),
},
{
path: '/login-client',
alias: ['/login-as', '/select-client'],
name: 'login_as',
component: () =>
import(/* webpackChunkName: "login" */ '../views/LoginAs.vue'),
},
{
path: '/menu',
name: 'app_quickmenu_screen',
meta: {
requiredRights: ['GEOV3_QUICKMENU_ACCESSS'],
allowRedirect: false,
},
component: () =>
import(
/* webpackChunkName: "quick_menu" */
'../views/QuickMenuModule/QuickMenuModule.vue'
),
},
{
path: '/ecoconduite',
name: 'ecoconduite_module',
meta: {
requiredRights: ['GEOV3_ECOCONDUITE_ACCESS'],
weight: 2,
functionId: 369,
},
component: () =>
import(
/* webpackChunkName: "ecoconduite_module" */
'../views/EcoConduiteModule.vue'
),
children: [
{
path: '/ecoconduite/bloc',
name: 'ecoconduiteBloc',
meta: {
requiredRights: ['GEOV3_ECOCONDUITE_ACCESS'],
},
component: () =>
import(
/* webpackChunkName: "ecoconduite_module" */
'@desktop/EcoConduite/EcoConduiteDataBloc.vue'
),
},
{
path: '/ecoconduite/table',
name: 'ecoconduiteTable',
meta: {
requiredRights: ['GEOV3_ECOCONDUITE_ACCESS'],
},
component: () =>
import(
/* webpackChunkName: "ecoconduite_module" */
'@desktop/EcoConduite/EcoConduiteDataTable.vue'
),
},
{
path: '/ecoconduite',
name: 'ecoconduite_module',
meta: {
requiredRights: ['GEOV3_ECOCONDUITE_ACCESS'],
},
component: () =>
import(
/* webpackChunkName: "ecoconduite_module" */
'@desktop/EcoConduite/EcoConduiteDataBloc.vue'
),
},
],
},
{
path: '/cartography',
name: 'events_module',
meta: {
requiredRights: ['GEOV3_EVENTS_ACCESS'],
//functionId: 364
},
component: () =>
import(
/* webpackChunkName: "events_module" */
'../views/EventsModule.vue'
),
},
{
path: '/diagnostics',
name: 'diagnostics_module',
meta: {
requiredRights: ['GEOV3_DIAGNOSTIC_ACCESS'],
},
component: () =>
import(
/* webpackChunkName: "diagnostics_module" */
'../views/DiagnosticsModule.vue'
),
},
{
path: '/zones',
name: 'zones_module',
meta: {
requiredRights: ['GEOV3_ZONES_ACCESS'],
},
component: () =>
import(/* webpackChunkName: "zones_module" */ '../views/ZonesModule.vue'),
},
/*{
path: '/circuit',
name: 'circuit_module',
meta: {
requiredRights: ['GEOV3_CIRCUIT_ACCESS'],
},
component: () =>
import(
'../views/CircuitModule.vue'
),
},
{
path: '/objects',
name: 'objects_module',
meta: {
requiredRights: ['GEOV3_OBJECTS_ACCESS'],
},
component: () =>
import(
'../views/ObjectsModule.vue'
),
},*/
{
path: '/dashboard',
name: 'dashboard_module',
meta: {
requiredRights: ['GEOV3_DASHBOARD_ACCESS'],
},
component: () =>
import(
/* webpackChunkName: "dashboard_module" */
'../views/DashboardModule.vue'
),
},
{
path: '/identification',
alias: '/sensors',
name: 'sensors_module',
meta: {
requiredRights: ['GEOV3_IDENTIFICATION_ACCESS'],
functionId: 364,
},
component: () =>
import(
/* webpackChunkName: "identification" */
'../views/SensorsModule.vue'
),
},
{
path: '/alerts',
name: 'alerts_module',
meta: {
requiredRights: ['GEOV3_ALERTS_ACCESS'],
weight: 3,
functionId: 389,
},
component: () =>
import(
/* webpackChunkName: "alerts_module" */
'../views/AlertsModule.vue'
),
},
{
path: '/',
name: 'location_module',
meta: {
requiredRights: ['GEOV3_LOCALISATION_ACCESS'],
weight: 1,
functionId: 356,
},
component: () =>
import(
/* webpackChunkName: "location_module" */
'../views/LocationModule.vue'
),
},
]
//If whitelist modules env is provided and match at least one module, add only whitelisted modules:
if (areModulesWhitelisted()) {
let whitelistedModules = getWhitelistedModules()
if (routes.filter((r) => whitelistedModules.includes(r.name)).length > 0) {
routes = routes.filter((r) => {
return (
'login_screen'.includes(r.name) || whitelistedModules.includes(r.name)
)
})
console.debug('Routes has been whitelisted', whitelistedModules)
}
} else {
console.debug('Routes whitelist skip')
}
routes.push({
path: '*',
redirect: '/',
})
/**
* List of routes
*/
export default routes
Source