Add users and network settings tabs with admin protections.

List and delete accounts with last-admin and Administrators-group guards, and expose editable network settings via the configuration UI.
This commit is contained in:
2026-07-18 15:18:01 +02:00
parent f049f766d9
commit 2605c3b346
49 changed files with 5440 additions and 209 deletions
+10
View File
@@ -5,8 +5,11 @@ describe('pathFor', () => {
it('maps sections and config tabs to paths', () => {
expect(pathFor('overview')).toBe('/')
expect(pathFor('vms')).toBe('/vms')
expect(pathFor('docker')).toBe('/docker')
expect(pathFor('containers')).toBe('/containers')
expect(pathFor('profile')).toBe('/profile')
expect(pathFor('setup')).toBe('/setup')
expect(pathFor('login')).toBe('/login')
expect(pathFor('configuration')).toBe('/configuration')
expect(pathFor('configuration', 'overview')).toBe('/configuration')
expect(pathFor('configuration', 'groups')).toBe('/configuration/groups')
@@ -19,8 +22,11 @@ describe('parseLocation', () => {
for (const path of [
'/',
'/vms',
'/docker',
'/containers',
'/profile',
'/setup',
'/login',
'/configuration',
'/configuration/users',
'/configuration/roles',
@@ -48,6 +54,10 @@ describe('parseLocation', () => {
section: 'overview',
configTab: 'overview',
})
expect(parseLocation('/docker/extra')).toEqual({
section: 'overview',
configTab: 'overview',
})
})
it('treats trailing slashes as the same path', () => {