import logging from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from app.config import settings from app.database import Base, engine, SessionLocal from app.models import Mindmap from app.routers import chat, mindmaps logging.basicConfig( level=logging.INFO, format="%(asctime)s [%(levelname)s] %(name)s: %(message)s", ) logger = logging.getLogger(__name__) Base.metadata.create_all(bind=engine) # 删除过期记录 db = SessionLocal() try: deleted_count = Mindmap.delete_expired_records(db) if deleted_count > 0: logger.info(f"Deleted {deleted_count} expired mindmap records") finally: db.close() app = FastAPI(title=settings.app_name) app.add_middleware( CORSMiddleware, allow_origins=settings.allowed_origins, allow_credentials=False, allow_methods=["*"], allow_headers=["*"], ) app.include_router(mindmaps.router, prefix=settings.api_prefix) app.include_router(chat.router, prefix=settings.api_prefix) @app.get("/") def health_check() -> dict[str, str]: return {"message": "Interactive Mindmap API is running"}