Moves phases 08–11 execution artifacts from .planning/phases/ to .planning/milestones/v0.2-phases/ to keep .planning/phases/ clean for the next milestone. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1.2 KiB
1.2 KiB
Plan 08-04 Summary — Admin API Decomposition
Status: Complete
Requirements: CODE-01, CODE-08
Date: 2026-06-12
What Was Done
- Added
validate_provider_id()tobackend/services/ai_config.py(D-11 migration) - Created
backend/api/admin/package:shared.py,users.py,quotas.py,ai.py,__init__.py __init__.pyaggregates withprefix="/api/admin"— 13 routes total- All sub-routers declare no prefix (D-04)
_user_to_dictshared helper inshared.py(T-02-27 / SEC-07 field whitelist)- Both
SystemAiConfigUpdateandTestConnectionRequestcallvalidate_provider_id()(CODE-08) - Deleted
backend/api/admin.pymonolith after 54-test URL regression passed
Test Results
tests/test_admin_api.py: 27 passedtests/test_cloud.py+tests/test_admin_ai_config.py: 27 passed- Full suite: 405 passed (1 pre-existing docx env skip)
Admin Paths (unchanged)
/api/admin/users, /api/admin/users/{id}, /api/admin/users/{id}/status, /api/admin/users/{id}/quota, /api/admin/users/{id}/ai-config, /api/admin/users/{id}/password-reset, /api/admin/topics, /api/admin/ai-config, /api/admin/ai-config/models, /api/admin/ai-config/test-connection