Add Groups management and split Admin navigation
- New backend: Group + GroupMembership models, schemas, CRUD router at /api/admin/groups (list, create, get detail, update, delete, add/remove members) - New Alembic migration: groups and group_memberships tables - Frontend: Admin sidebar item is now an expandable accordion with Users and Groups sub-items; AdminPage redirects to /admin/users; new AdminUsersPage and AdminGroupsPage with inline member management panel - API client: 7 new group functions + TypeScript types Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
# 2026-04-17 — Groups management and Admin navigation split
|
||||
|
||||
**Timestamp:** 2026-04-17T12:00:00Z
|
||||
|
||||
## Summary
|
||||
|
||||
Added a Groups system (backend models, API, migration) and split the Admin sidebar item into an expandable accordion with "Users" and "Groups" sub-navigation points.
|
||||
|
||||
## Files Added / Modified / Deleted
|
||||
|
||||
### Added
|
||||
- `backend/app/models/group.py` — `Group` and `GroupMembership` SQLAlchemy models
|
||||
- `backend/app/schemas/group.py` — Pydantic schemas: `GroupCreate`, `GroupUpdate`, `GroupOut`, `GroupDetailOut`, `GroupMemberOut`
|
||||
- `backend/app/routers/groups.py` — Admin CRUD endpoints for groups + member add/remove
|
||||
- `backend/alembic/versions/a3f9c2d14e87_add_groups_and_group_memberships.py` — Migration creating `groups` and `group_memberships` tables
|
||||
- `frontend/src/pages/AdminUsersPage.tsx` — User management page (extracted from AdminPage)
|
||||
- `frontend/src/pages/AdminGroupsPage.tsx` — Group management page with inline member panel
|
||||
|
||||
### Modified
|
||||
- `backend/app/models/__init__.py` — Import `Group` and `GroupMembership`
|
||||
- `backend/app/main.py` — Mount `/api/admin/groups` router
|
||||
- `frontend/src/api/client.ts` — Added 7 group API functions and TypeScript types
|
||||
- `frontend/src/pages/AdminPage.tsx` — Now a simple redirect to `/admin/users`
|
||||
- `frontend/src/App.tsx` — Added routes `/admin/users` and `/admin/groups`
|
||||
- `frontend/src/components/Sidebar.tsx` — Admin item is now an expandable accordion with Users and Groups sub-items
|
||||
- `backend/STATUS.md` — Documented groups endpoints, models, updated future work
|
||||
- `frontend/STATUS.md` — Documented new routes, pages, API client functions
|
||||
Reference in New Issue
Block a user