Complete role-based user management #63

Merged
sjg merged 1 commits from agent/complete-user-management into main 2026-08-11 08:00:57 +02:00
Owner

Summary

  • add composable Read, Control, Write, and Administrator roles with bootstrap defaults from configuration
  • centralize authorization policy across HTTP middleware, frontend state, and plugins
  • move Account and administrator-only Users management into separate Settings tabs
  • add enabled/disabled account lifecycle, duplicate/not-found validation, session revocation, and self-service password changes
  • guarantee at least one enabled administrator at startup and after every mutation; the final enabled administrator cannot be disabled, demoted, or removed
  • preserve legacy user databases through role and enabled-state migration
  • document configuration, roles, lifecycle behavior, and architecture

Verification

  • cargo fmt --all -- --check
  • cargo test --workspace
  • cargo clippy --workspace --all-targets -- -D warnings
  • npm run typecheck
  • npm run lint
  • npm test (64 passed)
  • npm run build
  • git diff --check

Browser account-management regression coverage is included in the suite. It was not executed locally because this agent environment exposes neither an in-app browser backend nor the configured Chromium binary.

## Summary - add composable Read, Control, Write, and Administrator roles with bootstrap defaults from configuration - centralize authorization policy across HTTP middleware, frontend state, and plugins - move Account and administrator-only Users management into separate Settings tabs - add enabled/disabled account lifecycle, duplicate/not-found validation, session revocation, and self-service password changes - guarantee at least one enabled administrator at startup and after every mutation; the final enabled administrator cannot be disabled, demoted, or removed - preserve legacy user databases through role and enabled-state migration - document configuration, roles, lifecycle behavior, and architecture ## Verification - cargo fmt --all -- --check - cargo test --workspace - cargo clippy --workspace --all-targets -- -D warnings - npm run typecheck - npm run lint - npm test (64 passed) - npm run build - git diff --check Browser account-management regression coverage is included in the suite. It was not executed locally because this agent environment exposes neither an in-app browser backend nor the configured Chromium binary.
sjg added 1 commit 2026-08-11 07:50:22 +02:00
Complete managed account lifecycle
CI / test (push) Successful in 8m12s
CI / frontend (push) Successful in 4m15s
CI / reuse (push) Successful in 5s
CI / lint (pull_request) Successful in 2m24s
CI / test (pull_request) Successful in 9m6s
CI / frontend (pull_request) Successful in 5m17s
CI / reuse (pull_request) Successful in 5s
CI / lint (push) Successful in 2m26s
5e9dae02c7
sjg merged commit 5e9dae02c7 into main 2026-08-11 08:00:57 +02:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sjg/trx-rs#63