45 lines
1.1 KiB
Python
45 lines
1.1 KiB
Python
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"}
|