"""FastAPI app factory.""" from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from app import __version__ from app.routers import documents, edits, health, info, internal, render def create_app() -> FastAPI: app = FastAPI( title="PDF Engine Gateway", version=__version__, description="Auth, metadata, storage, and job-queue gateway over the C++ PDF engine.", ) app.add_middleware( CORSMiddleware, allow_origins=["*"], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) app.include_router(health.router) app.include_router(info.router) app.include_router(documents.router) app.include_router(render.router) app.include_router(render.compat_router) app.include_router(edits.router) app.include_router(edits.compat_router) app.include_router(internal.router) @app.get("/") def read_root(): return { "name": "PDF Engine Gateway", "version": __version__, "health": "/health", "docs": "/docs", } return app app = create_app()