This repository has been archived on 2026-02-15. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
breakpilot-pwa/backend/classroom/__init__.py
Benjamin Admin 21a844cb8a fix: Restore all files lost during destructive rebase
A previous `git pull --rebase origin main` dropped 177 local commits,
losing 3400+ files across admin-v2, backend, studio-v2, website,
klausur-service, and many other services. The partial restore attempt
(660295e2) only recovered some files.

This commit restores all missing files from pre-rebase ref 98933f5e
while preserving post-rebase additions (night-scheduler, night-mode UI,
NightModeWidget dashboard integration).

Restored features include:
- AI Module Sidebar (FAB), OCR Labeling, OCR Compare
- GPU Dashboard, RAG Pipeline, Magic Help
- Klausur-Korrektur (8 files), Abitur-Archiv (5+ files)
- Companion, Zeugnisse-Crawler, Screen Flow
- Full backend, studio-v2, website, klausur-service
- All compliance SDKs, agent-core, voice-service
- CI/CD configs, documentation, scripts

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 09:51:32 +01:00

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",
]