Services: Admin-Lehrer, Backend-Lehrer, Studio v2, Website, Klausur-Service, School-Service, Voice-Service, Geo-Service, BreakPilot Drive, Agent-Core Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
111 lines
2.8 KiB
Python
111 lines
2.8 KiB
Python
"""
|
|
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",
|
|
]
|