4e9ed97b05
- 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>
1.6 KiB
1.6 KiB
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—GroupandGroupMembershipSQLAlchemy modelsbackend/app/schemas/group.py— Pydantic schemas:GroupCreate,GroupUpdate,GroupOut,GroupDetailOut,GroupMemberOutbackend/app/routers/groups.py— Admin CRUD endpoints for groups + member add/removebackend/alembic/versions/a3f9c2d14e87_add_groups_and_group_memberships.py— Migration creatinggroupsandgroup_membershipstablesfrontend/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— ImportGroupandGroupMembershipbackend/app/main.py— Mount/api/admin/groupsrouterfrontend/src/api/client.ts— Added 7 group API functions and TypeScript typesfrontend/src/pages/AdminPage.tsx— Now a simple redirect to/admin/usersfrontend/src/App.tsx— Added routes/admin/usersand/admin/groupsfrontend/src/components/Sidebar.tsx— Admin item is now an expandable accordion with Users and Groups sub-itemsbackend/STATUS.md— Documented groups endpoints, models, updated future workfrontend/STATUS.md— Documented new routes, pages, API client functions