feat(phase-b): Supabase-first timetable, classes, enrollment, and student views
- timetable_builder_router: Supabase-primary slot write (POST /timetable/slots),
week_cycle support, GET /slots reads from Supabase, materialize-periods endpoint,
rebuild-neo4j endpoint, sync-lessons endpoint (Track B: TaughtLesson Neo4j nodes),
_sync_teacher_timetables_to_neo4j and _sync_taught_lessons_to_neo4j helpers
- classes_router: GET /{class_id} enriched with profiles + enrollment_requests,
GET /school/students for admin search, PATCH /enrollment-requests/{id} approve/reject
- taught_lessons_router: GET /student/lessons student week view with enrichment
- school_router: academic_periods sync, day-type management
- platform_admin_router + platform_admin: POST /admin/reset and /admin/seed endpoints
- invitations_router: teacher invite scaffolding
- reset_environment + seed_environment: idempotent dev environment scripts
- graph_tree_router: Supabase-first institute resolution
- provisioning_service: neo4j_private_db_name column support
- main.py + run/routers.py: register new routers
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
This commit is contained in:
@@ -13,6 +13,10 @@ from routers.database.tools.graph_tree_router import router as graph_tree_router
|
||||
from routers.database.tools.user_init_router import router as user_init_router
|
||||
from routers.database.tools.timetable_builder_router import router as timetable_builder_router
|
||||
from routers.database.tools.school_router import router as school_router
|
||||
from routers.database.tools.classes_router import router as classes_router
|
||||
from routers.database.tools.taught_lessons_router import router as taught_lessons_router
|
||||
from routers.database.tools.invitations_router import router as invitations_router
|
||||
from routers.database.tools.platform_admin_router import router as platform_admin_router
|
||||
from routers.database.files import cabinets as cabinets_router
|
||||
from routers.database.files import files as files_router
|
||||
from routers.simple_upload import router as simple_upload_router
|
||||
@@ -63,6 +67,10 @@ def register_routes(app: FastAPI):
|
||||
app.include_router(user_init_router, prefix="/user", tags=["User"])
|
||||
app.include_router(timetable_builder_router, prefix="/timetable", tags=["Timetable"])
|
||||
app.include_router(school_router, prefix="/school", tags=["School"])
|
||||
app.include_router(classes_router, prefix="/database/timetable/classes", tags=["Classes"])
|
||||
app.include_router(taught_lessons_router, prefix="/timetable", tags=["Taught Lessons"])
|
||||
app.include_router(invitations_router, prefix="/users", tags=["People"])
|
||||
app.include_router(platform_admin_router, prefix="/admin", tags=["Platform Admin"])
|
||||
app.include_router(default_nodes_router.router, prefix="/database/tools", tags=["Navigation"])
|
||||
|
||||
# Database Filesystem Routes
|
||||
|
||||
Reference in New Issue
Block a user