Files
kite/.planning/milestones/v0.2-phases/08-stack-upgrade-backend-decomposition/08-04-SUMMARY.md
T
curo1305andClaude Sonnet 4.6 123ae5b29b chore: archive v0.2 phase directories to milestones/v0.2-phases/
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>
2026-06-17 14:34:52 +02:00

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() to backend/services/ai_config.py (D-11 migration)
  • Created backend/api/admin/ package: shared.py, users.py, quotas.py, ai.py, __init__.py
  • __init__.py aggregates with prefix="/api/admin" — 13 routes total
  • All sub-routers declare no prefix (D-04)
  • _user_to_dict shared helper in shared.py (T-02-27 / SEC-07 field whitelist)
  • Both SystemAiConfigUpdate and TestConnectionRequest call validate_provider_id() (CODE-08)
  • Deleted backend/api/admin.py monolith after 54-test URL regression passed

Test Results

  • tests/test_admin_api.py: 27 passed
  • tests/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