Files
breakpilot-lehrer/klausur-service/backend/admin_api.py
Benjamin Admin 6811264756 [split-required] Split final batch of monoliths >1000 LOC
Python (6 files in klausur-service):
- rbac.py (1,132 → 4), admin_api.py (1,012 → 4)
- routes/eh.py (1,111 → 4), ocr_pipeline_geometry.py (1,105 → 5)

Python (2 files in backend-lehrer):
- unit_api.py (1,226 → 6), game_api.py (1,129 → 5)

Website (6 page files):
- 4x klausur-korrektur pages (1,249-1,328 LOC each) → shared components
  in website/components/klausur-korrektur/ (17 shared files)
- companion (1,057 → 10), magic-help (1,017 → 8)

All re-export barrels preserve backward compatibility.
Zero import errors verified.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-24 23:17:30 +02:00

34 lines
1.1 KiB
Python

"""
Admin API for NiBiS Data Management (barrel re-export)
This module was split into:
- admin_nibis.py (NiBiS ingestion, search, stats)
- admin_rag.py (RAG upload, metrics, storage)
- admin_templates.py (Legal templates ingestion, search)
The `router` object is assembled here by including all sub-routers.
Importers that did `from admin_api import router` continue to work.
"""
from fastapi import APIRouter
from admin_nibis import router as _nibis_router
from admin_rag import router as _rag_router
from admin_templates import router as _templates_router
# Re-export internal state for test importers
from admin_nibis import ( # noqa: F401
_ingestion_status,
NiBiSSearchRequest,
search_nibis,
)
from admin_rag import _upload_history # noqa: F401
from admin_templates import _templates_ingestion_status # noqa: F401
# Assemble the combined router.
# All sub-routers use prefix="/api/v1/admin", so include without extra prefix.
router = APIRouter()
router.include_router(_nibis_router)
router.include_router(_rag_router)
router.include_router(_templates_router)