forked from open-webui/open-webui
bdd153d8f5
- feat: added new util to get the current user when needed. Middleware was adding authentication logic to all the routes. let's revisit if we can move the non-auth endpoints to a separate route. - refac: update the routes to use new helpers for verification and retrieving user - chore: added black for local formatting of py code
46 lines
1.2 KiB
Python
46 lines
1.2 KiB
Python
from fastapi import FastAPI, Depends
|
|
from fastapi.routing import APIRoute
|
|
from fastapi.middleware.cors import CORSMiddleware
|
|
from starlette.middleware.authentication import AuthenticationMiddleware
|
|
from apps.web.routers import auths, users, chats, modelfiles, utils
|
|
from config import WEBUI_VERSION, WEBUI_AUTH
|
|
from utils.utils import verify_auth_token
|
|
|
|
app = FastAPI()
|
|
|
|
origins = ["*"]
|
|
|
|
app.add_middleware(
|
|
CORSMiddleware,
|
|
allow_origins=origins,
|
|
allow_credentials=True,
|
|
allow_methods=["*"],
|
|
allow_headers=["*"],
|
|
)
|
|
|
|
app.include_router(auths.router, prefix="/auths", tags=["auths"])
|
|
|
|
app.include_router(
|
|
users.router,
|
|
prefix="/users",
|
|
tags=["users"],
|
|
dependencies=[Depends(verify_auth_token)],
|
|
)
|
|
app.include_router(
|
|
chats.router,
|
|
prefix="/chats",
|
|
tags=["chats"],
|
|
dependencies=[Depends(verify_auth_token)],
|
|
)
|
|
app.include_router(
|
|
modelfiles.router,
|
|
prefix="/modelfiles",
|
|
tags=["modelfiles"],
|
|
dependencies=[Depends(verify_auth_token)],
|
|
)
|
|
app.include_router(utils.router, prefix="/utils", tags=["utils"])
|
|
|
|
|
|
@app.get("/")
|
|
async def get_status():
|
|
return {"status": True, "version": WEBUI_VERSION, "auth": WEBUI_AUTH}
|