47 lines
1.1 KiB
Python
47 lines
1.1 KiB
Python
"""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()
|