개선관리 요구사항과 Google 로그인을 완료

This commit is contained in:
Yun Chan 2026-08-28 16:07:09 +09:00
parent cc0a15b7c6
commit 2a39636163
112 changed files with 10166 additions and 527 deletions

View file

@ -16,6 +16,7 @@ from fastapi.middleware.cors import CORSMiddleware
from fastapi.staticfiles import StaticFiles
from . import __version__
from .access_logging import install_uvicorn_access_log_redaction
from .auth_sessions import ensure_runtime_tables
from .config import settings
from .db import acquire, close_pool, healthcheck, init_pool
@ -46,6 +47,7 @@ from .routes import multimodal_alliance as multimodal_alliance_routes
from .routes import measurements as measurement_routes
from .routes import outcome_trajectories as outcome_trajectory_routes
from .routes import personas as persona_routes
from .routes import protocols as protocol_routes
from .routes import rupture_repairs as rupture_repair_routes
from .routes import supervision_research as supervision_research_routes
from .routes import sessions as session_routes
@ -54,6 +56,7 @@ from .routes import teacher as teacher_routes
from .routes import users as user_routes
from .routes import voice as voice_routes
from .services.notifications import ensure_notification_tables
from .services.protocol_registry import ensure_protocol_tables
from .services import (
alliance_measurement,
continuous_improvement_producer,
@ -63,6 +66,7 @@ from .services.voice import voice_service
logger = logging.getLogger(__name__)
install_uvicorn_access_log_redaction()
@asynccontextmanager
@ -84,6 +88,7 @@ async def lifespan(app: FastAPI):
await ensure_runtime_tables()
await ensure_review_tables()
await ensure_notification_tables()
await ensure_protocol_tables()
async with acquire(role="admin") as conn:
measurement_schema_ready = await schema_contract_ready(
conn,
@ -251,6 +256,7 @@ app.include_router(calibration_transfer_routes.router)
app.include_router(continuous_improvement_routes.router)
app.include_router(client_diagnostics_routes.router)
app.include_router(admin_routes.router)
app.include_router(protocol_routes.router)
app.include_router(persona_routes.router)
app.include_router(session_routes.router)
app.include_router(measurement_routes.router)
@ -281,5 +287,10 @@ async def health() -> dict[str, object]:
"db": db_ok,
"engine": engine_ok,
"engine_detail": engine.get("detail"),
"engine_mode": settings.engine_mode,
"engine_mode": engine_client.engine_mode,
"live_client_provider": (
engine_client.live_client_provider or engine_client.engine_mode
),
"default_engine": engine.get("default_engine"),
"live_client_engine": engine.get("live_client_engine"),
}