30 lines
857 B
Python
30 lines
857 B
Python
from __future__ import annotations
|
|
|
|
from fastapi import FastAPI, Request
|
|
from fastapi.responses import JSONResponse
|
|
|
|
from .repository import initialize_runtime_database
|
|
from .routers import admin, ai_register, health, ingest, pages, records, student_profiles
|
|
|
|
|
|
app = FastAPI(title="新时空教务管理系统", version="1.0.0")
|
|
|
|
|
|
@app.on_event("startup")
|
|
def prepare_sqlite_runtime() -> None:
|
|
initialize_runtime_database()
|
|
|
|
|
|
@app.exception_handler(ValueError)
|
|
async def value_error_handler(_request: Request, exc: ValueError):
|
|
return JSONResponse(status_code=500, content={"detail": str(exc)})
|
|
|
|
|
|
app.include_router(pages.router)
|
|
app.include_router(health.router)
|
|
app.include_router(records.router)
|
|
app.include_router(student_profiles.router)
|
|
app.include_router(admin.router)
|
|
app.include_router(ai_register.router)
|
|
app.include_router(ingest.router)
|