init. project

This commit is contained in:
2026-04-13 11:34:23 +08:00
commit c7c0659a85
202 changed files with 31196 additions and 0 deletions

View File

@@ -0,0 +1,47 @@
import logging
from app.api.api_v1.api import api_router
from app.api.openapi.api import router as openapi_router
from app.core.config import settings
from app.core.minio import init_minio
from app.core.runtime_checks import validate_runtime_settings
from app.startup.migarate import DatabaseMigrator
from fastapi import FastAPI
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
)
app = FastAPI(
title=settings.PROJECT_NAME,
version=settings.VERSION,
openapi_url=f"{settings.API_V1_STR}/openapi.json",
)
# Include routers
app.include_router(api_router, prefix=settings.API_V1_STR)
app.include_router(openapi_router, prefix="/openapi")
@app.on_event("startup")
async def startup_event():
validate_runtime_settings(settings)
# Initialize MinIO
init_minio()
# Run database migrations
migrator = DatabaseMigrator(settings.get_database_url)
migrator.run_migrations()
@app.get("/")
def root():
return {"message": "Welcome to RAG Web UI API"}
@app.get("/api/health")
async def health_check():
return {
"status": "healthy",
"version": settings.VERSION,
}