The client IP allowlist config was a tab inside the GE-Enforce section; move it to the Settings rail via get_settings_cards (matches printedparts / zabbix / dell). Route relocated from /geenforce/settings to /settings/geenforce; the in-section Settings tab is removed. Card: Settings > GE-Enforce.
39 lines
1.3 KiB
JavaScript
39 lines
1.3 KiB
JavaScript
/**
|
|
* GE-Enforce plugin routes.
|
|
*
|
|
* A top-level section (not under /settings) - the manifest editor + fleet
|
|
* reports are a large operational surface, so they get their own full-width
|
|
* shell with tabs. meta.plugin = 'geenforce' so the ADR-009 guard hides the
|
|
* section when the plugin is disabled. Admin-only.
|
|
*/
|
|
export default [
|
|
{
|
|
path: 'geenforce',
|
|
component: () => import('./views/GeEnforceLayout.vue'),
|
|
meta: { requiresAuth: true, requiresAdmin: true, plugin: 'geenforce' },
|
|
children: [
|
|
{ path: '', redirect: '/geenforce/manifests' },
|
|
{
|
|
path: 'manifests',
|
|
name: 'geenforce-manifests',
|
|
component: () => import('./views/ManifestEditor.vue'),
|
|
meta: { requiresAuth: true, requiresAdmin: true, plugin: 'geenforce' }
|
|
},
|
|
{
|
|
path: 'reports',
|
|
name: 'geenforce-reports',
|
|
component: () => import('./views/EnforcementReports.vue'),
|
|
meta: { requiresAuth: true, requiresAdmin: true, plugin: 'geenforce' }
|
|
}
|
|
]
|
|
},
|
|
{
|
|
// Config lives in the Settings rail (contributed via get_settings_cards),
|
|
// not inside the GE-Enforce section tabs.
|
|
path: 'settings/geenforce',
|
|
name: 'settings-geenforce',
|
|
component: () => import('./views/GeEnforceSettings.vue'),
|
|
meta: { requiresAuth: true, requiresAdmin: true, plugin: 'geenforce' }
|
|
}
|
|
]
|