AI Assistant
Update Bitcheck Document Service and test.html
37a1755
from collections.abc import AsyncIterator
from contextlib import asynccontextmanager
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from fastapi.staticfiles import StaticFiles
from app.config import get_settings
from app.routes.verify_document import router as document_router
from app.schemas.document_verification import HealthResponse, RootResponse
settings = get_settings()
@asynccontextmanager
async def lifespan(_: FastAPI) -> AsyncIterator[None]:
settings.upload_dir.mkdir(parents=True, exist_ok=True)
settings.output_dir.mkdir(parents=True, exist_ok=True)
yield
app = FastAPI(
title=settings.app_name,
description="BitCheck Document Verification API.",
version=settings.version,
lifespan=lifespan,
)
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=False,
allow_methods=["*"],
allow_headers=["*"],
)
app.include_router(document_router)
app.mount("/outputs", StaticFiles(directory=str(settings.output_dir)), name="outputs")
@app.get("/", response_model=RootResponse)
def root() -> RootResponse:
return RootResponse(
service=settings.app_name,
status="running",
version=settings.version,
)
@app.get("/health")
def health() -> HealthResponse:
return HealthResponse(
status="ok",
service=settings.app_name,
version=settings.version,
ocr_available=False,
qr_available=False,
deepseek_available=settings.deepseek_available,
model=settings.deepseek_model,
)