webui: account management UI (users + change password)

Settings now has an Account card (current user/role + change password)
and, for admins, a Users card to add/delete users, reset passwords, and
toggle admin/user roles. Login captures the role; the Users section is
admin-only. api.js gains the account/user endpoints.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
ookami125 2026-06-23 21:48:05 -04:00
parent 530390089c
commit 2df3f11cf4
2 changed files with 119 additions and 9 deletions

View file

@ -19,6 +19,13 @@ export const api = {
authStatus: () => jget('/api/auth/status'),
login: (username, password) => jpost('/api/login', { username, password }),
logout: () => jpost('/api/logout', {}),
// account management
changePassword: (oldPassword, newPassword) => jpost('/api/account/password', { oldPassword, newPassword }),
listUsers: () => jget('/api/users'),
createUser: (username, password, role) => jpost('/api/users', { username, password, role }),
deleteUser: (username) => jpost('/api/users/delete', { username }),
setUserPassword: (username, password) => jpost('/api/users/password', { username, password }),
setUserRole: (username, role) => jpost('/api/users/role', { username, role }),
plugins: () => jget('/api/plugins'),
meta: () => jget('/api/meta'),