Skip to content

Commit ef5868b

Browse files
committed
feat: Add web admin UI for user and permission management
- Add /admin/users page with user table, create form, and inline permission management (grant/revoke), all HTMX-powered - Guard all admin routes with superuser check (HTTP 403 for non-superusers) - Prevent self-deletion in delete handler - Show "Users" admin link in nav bar for superusers - Add 8 new routes covering user CRUD and permission grant/revoke
1 parent bc45d27 commit ef5868b

7 files changed

Lines changed: 570 additions & 3 deletions

File tree

.beads/issues.jsonl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
{"id":"aliasman-0ru","title":"Add access controls","status":"open","priority":0,"issue_type":"feature","created_at":"2026-03-21T18:58:00.726346Z","created_by":"pjl","updated_at":"2026-03-21T22:40:41.011652Z","source_repo":".","compaction_level":0,"original_size":0,"dependencies":[{"issue_id":"aliasman-0ru","depends_on_id":"aliasman-wo4","type":"blocks","created_at":"2026-03-21T22:40:41.011118Z","created_by":"pjl","metadata":"{}","thread_id":""}]}
1+
{"id":"aliasman-0ru","title":"Add access controls","status":"closed","priority":0,"issue_type":"feature","created_at":"2026-03-21T18:58:00.726346Z","created_by":"pjl","updated_at":"2026-03-22T02:15:50.101329Z","closed_at":"2026-03-22T02:15:50.100934Z","close_reason":"Feature complete","source_repo":".","compaction_level":0,"original_size":0,"dependencies":[{"issue_id":"aliasman-0ru","depends_on_id":"aliasman-wo4","type":"blocks","created_at":"2026-03-21T22:40:41.011118Z","created_by":"pjl","metadata":"{}","thread_id":""}]}
22
{"id":"aliasman-5dn","title":"Web authentication middleware","status":"closed","priority":0,"issue_type":"task","created_at":"2026-03-21T19:14:19.769336Z","created_by":"pjl","updated_at":"2026-03-21T23:33:48.626556Z","closed_at":"2026-03-21T23:33:48.626383Z","close_reason":"Add web authentication with session cookies and login flow","source_repo":".","compaction_level":0,"original_size":0,"dependencies":[{"issue_id":"aliasman-5dn","depends_on_id":"aliasman-mvn","type":"blocks","created_at":"2026-03-21T19:16:39.829636Z","created_by":"pjl","metadata":"{}","thread_id":""}]}
33
{"id":"aliasman-dpx","title":"Auth types and user store in core","status":"closed","priority":0,"issue_type":"task","created_at":"2026-03-21T19:13:49.679066Z","created_by":"pjl","updated_at":"2026-03-21T22:37:47.126085Z","closed_at":"2026-03-21T22:37:47.125914Z","close_reason":"Add auth module with UserStore trait and SQLite/Postgres implementations","source_repo":".","compaction_level":0,"original_size":0}
44
{"id":"aliasman-k5x","title":"Wire auth into existing routes","status":"closed","priority":0,"issue_type":"task","created_at":"2026-03-21T19:14:36.597816Z","created_by":"pjl","updated_at":"2026-03-22T01:57:54.939105Z","closed_at":"2026-03-22T01:57:54.938697Z","close_reason":"Add per-domain permission checks to web mutation handlers","source_repo":".","compaction_level":0,"original_size":0,"dependencies":[{"issue_id":"aliasman-k5x","depends_on_id":"aliasman-5dn","type":"blocks","created_at":"2026-03-21T19:16:47.492776Z","created_by":"pjl","metadata":"{}","thread_id":""}]}
55
{"id":"aliasman-mvn","title":"CLI user management commands","status":"closed","priority":0,"issue_type":"task","created_at":"2026-03-21T19:14:06.059543Z","created_by":"pjl","updated_at":"2026-03-21T22:49:11.773901Z","closed_at":"2026-03-21T22:49:11.773714Z","close_reason":"Add CLI user management commands for auth administration","source_repo":".","compaction_level":0,"original_size":0,"dependencies":[{"issue_id":"aliasman-mvn","depends_on_id":"aliasman-dpx","type":"blocks","created_at":"2026-03-21T19:16:24.325655Z","created_by":"pjl","metadata":"{}","thread_id":""}]}
6-
{"id":"aliasman-wo4","title":"Web user management UI (superuser only)","status":"in_progress","priority":0,"issue_type":"task","created_at":"2026-03-21T19:14:49.605051Z","created_by":"pjl","updated_at":"2026-03-22T01:58:44.202408Z","source_repo":".","compaction_level":0,"original_size":0,"dependencies":[{"issue_id":"aliasman-wo4","depends_on_id":"aliasman-k5x","type":"blocks","created_at":"2026-03-21T19:16:57.260156Z","created_by":"pjl","metadata":"{}","thread_id":""}]}
6+
{"id":"aliasman-wo4","title":"Web user management UI (superuser only)","status":"closed","priority":0,"issue_type":"task","created_at":"2026-03-21T19:14:49.605051Z","created_by":"pjl","updated_at":"2026-03-22T02:15:26.122461Z","closed_at":"2026-03-22T02:15:26.122079Z","close_reason":"Add web admin UI for user and permission management","source_repo":".","compaction_level":0,"original_size":0,"dependencies":[{"issue_id":"aliasman-wo4","depends_on_id":"aliasman-k5x","type":"blocks","created_at":"2026-03-21T19:16:57.260156Z","created_by":"pjl","metadata":"{}","thread_id":""}]}

0 commit comments

Comments
 (0)