"""
Schools API Routes — Barrel Re-export.

CRUD operations for managing German schools (~40,000 schools).
Split into:
  - schools_models.py: Pydantic models
  - schools_db.py: Database connection pool
  - schools_crud.py: School CRUD & stats routes
  - schools_staff.py: Staff CRUD & search routes
"""

from fastapi import APIRouter

from .schools_crud import router as _crud_router
from .schools_staff import router as _staff_router

# Single router that merges both sub-module routers
router = APIRouter(prefix="/schools", tags=["schools"])
router.include_router(_crud_router)
router.include_router(_staff_router)

# Re-export models for any external consumers
from .schools_models import (  # noqa: E402, F401
    SchoolTypeResponse,
    SchoolBase,
    SchoolCreate,
    SchoolUpdate,
    SchoolResponse,
    SchoolsListResponse,
    SchoolStaffBase,
    SchoolStaffCreate,
    SchoolStaffResponse,
    SchoolStaffListResponse,
    SchoolStatsResponse,
    BulkImportRequest,
    BulkImportResponse,
)
from .schools_db import get_db_pool  # noqa: E402, F401
