""" Classroom API Module A modular classroom management API for lesson sessions, templates, homework, materials, analytics, and real-time features. Usage: from classroom import router as classroom_router app.include_router(classroom_router, prefix="/api/classroom") """ from fastapi import APIRouter from .routes.sessions import router as sessions_router from .routes.templates import router as templates_router from .routes.homework import router as homework_router from .routes.materials import router as materials_router from .routes.analytics import router as analytics_router from .routes.export import router as export_router from .routes.feedback import router as feedback_router from .routes.settings import router as settings_router from .routes.context import router as context_router from .routes.websocket_routes import router as websocket_router # Create the main router that combines all sub-routers router = APIRouter() # Include all sub-routers router.include_router(sessions_router) router.include_router(templates_router) router.include_router(homework_router) router.include_router(materials_router) router.include_router(analytics_router) router.include_router(export_router) router.include_router(feedback_router) router.include_router(settings_router) router.include_router(context_router) router.include_router(websocket_router) # Re-export commonly used items from .models import ( # Session Models CreateSessionRequest, SessionResponse, TimerStatus, # Template Models TemplateCreate, TemplateResponse, # Homework Models CreateHomeworkRequest, HomeworkResponse, # Material Models CreateMaterialRequest, MaterialResponse, # Analytics Models SessionSummaryResponse, TeacherAnalyticsResponse, ReflectionCreate, ReflectionResponse, # Feedback Models FeedbackCreate, FeedbackResponse, # Settings Models TeacherSettingsResponse, # Context Models TeacherContextResponse, ) from .services.persistence import ( sessions, init_db_if_needed, DB_ENABLED, ) from .websocket_manager import ( ws_manager, notify_phase_change, notify_session_ended, ) __all__ = [ # Main router "router", # Session storage "sessions", "init_db_if_needed", "DB_ENABLED", # WebSocket "ws_manager", "notify_phase_change", "notify_session_ended", # Models "CreateSessionRequest", "SessionResponse", "TimerStatus", "TemplateCreate", "TemplateResponse", "CreateHomeworkRequest", "HomeworkResponse", "CreateMaterialRequest", "MaterialResponse", "SessionSummaryResponse", "TeacherAnalyticsResponse", "ReflectionCreate", "ReflectionResponse", "FeedbackCreate", "FeedbackResponse", "TeacherSettingsResponse", "TeacherContextResponse", ]