feat: Client CRUD admin blueprint + auth + subscription management (HRT-199) #15

Open
admin wants to merge 1 commits from feature/HRT-199-admin-client-crud into master
Owner

Summary

New api_v1/routes/admin.py — Admin client management blueprint

  • admin_users table (no ALTER TABLE)
  • require_admin decorator
  • Client CRUD: list/get/update/delete/suspend/activate
  • Subscription info in client detail
  • Client stats endpoint
  • POST /api/v1/admin/setup — admin init
  • 8 routes total

Constraints

  • No new service, no merge tables, no ALTER TABLE
  • Follows existing patterns (org.py, billing.py)

Verification

  • 61/62 existing tests pass (1 pre-existing failure)
  • Syntax check: OK
  • Module import: OK
## Summary New api_v1/routes/admin.py — Admin client management blueprint - admin_users table (no ALTER TABLE) - require_admin decorator - Client CRUD: list/get/update/delete/suspend/activate - Subscription info in client detail - Client stats endpoint - POST /api/v1/admin/setup — admin init - 8 routes total ## Constraints - No new service, no merge tables, no ALTER TABLE - Follows existing patterns (org.py, billing.py) ## Verification - 61/62 existing tests pass (1 pre-existing failure) - Syntax check: OK - Module import: OK
admin added 1 commit 2026-05-24 10:12:38 +02:00
- New api_v1/routes/admin.py: admin client management blueprint
- admin_users table for admin role (no ALTER TABLE needed)
- require_admin decorator for endpoint protection
- GET/PUT/DELETE /api/v1/admin/clients/<id>
- POST /api/v1/admin/setup (first-time admin init)
- POST /api/v1/admin/clients/<id>/suspend|activate
- GET /api/v1/admin/stats (client counts by plan)
- Registered in api_v1/__init__: auto-wired into portal_server.py
- No new service, no merge tables, no ALTER TABLE
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin feature/HRT-199-admin-client-crud:feature/HRT-199-admin-client-crud
git checkout feature/HRT-199-admin-client-crud
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: admin/turf_saas#15