main.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. from fastapi import FastAPI, Depends
  2. from fastapi.routing import APIRoute
  3. from fastapi.middleware.cors import CORSMiddleware
  4. from starlette.middleware.authentication import AuthenticationMiddleware
  5. from apps.web.routers import auths, users, chats, modelfiles, utils
  6. from config import WEBUI_VERSION, WEBUI_AUTH
  7. from utils.utils import verify_auth_token
  8. app = FastAPI()
  9. origins = ["*"]
  10. app.add_middleware(
  11. CORSMiddleware,
  12. allow_origins=origins,
  13. allow_credentials=True,
  14. allow_methods=["*"],
  15. allow_headers=["*"],
  16. )
  17. app.include_router(auths.router, prefix="/auths", tags=["auths"])
  18. app.include_router(
  19. users.router,
  20. prefix="/users",
  21. tags=["users"],
  22. dependencies=[Depends(verify_auth_token)],
  23. )
  24. app.include_router(
  25. chats.router,
  26. prefix="/chats",
  27. tags=["chats"],
  28. dependencies=[Depends(verify_auth_token)],
  29. )
  30. app.include_router(
  31. modelfiles.router,
  32. prefix="/modelfiles",
  33. tags=["modelfiles"],
  34. dependencies=[Depends(verify_auth_token)],
  35. )
  36. app.include_router(utils.router, prefix="/utils", tags=["utils"])
  37. @app.get("/")
  38. async def get_status():
  39. return {"status": True, "version": WEBUI_VERSION, "auth": WEBUI_AUTH}