main.py 691 B

1234567891011121314151617181920212223242526
  1. from contextlib import asynccontextmanager
  2. from fastapi import FastAPI
  3. from fastapi.staticfiles import StaticFiles
  4. from .auth import AuthenticationMiddleware
  5. from .http_logging import install_request_logging
  6. from .logging_setup import configure_logging
  7. from .routes import router
  8. @asynccontextmanager
  9. async def lifespan(_: FastAPI):
  10. configure_logging()
  11. # Create tables for demo if they do not exist
  12. # Base.metadata.create_all(bind=engine)
  13. yield
  14. app = FastAPI(title="GCOutline", lifespan=lifespan)
  15. app.add_middleware(AuthenticationMiddleware)
  16. install_request_logging(app)
  17. app.include_router(router)
  18. app.mount("/static", StaticFiles(directory="static"), name="static")