main.py 1.06 KB
Newer Older
Anuraag Jain's avatar
Anuraag Jain committed
1
from fastapi import FastAPI
2
from fastapi.middleware.cors import CORSMiddleware
Anuraag Jain's avatar
Anuraag Jain committed
3
from starlette.middleware.authentication import AuthenticationMiddleware
Timothy J. Baek's avatar
Timothy J. Baek committed
4
from apps.web.routers import auths, users, chats, modelfiles, utils
5
from config import WEBUI_VERSION, WEBUI_AUTH
Anuraag Jain's avatar
Anuraag Jain committed
6
from apps.web.middlewares.auth import BearerTokenAuthBackend, on_auth_error
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

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"])
Anuraag Jain's avatar
Anuraag Jain committed
22
23
24

app.add_middleware(AuthenticationMiddleware, backend=BearerTokenAuthBackend(), on_error=on_auth_error)

Timothy J. Baek's avatar
Timothy J. Baek committed
25
app.include_router(users.router, prefix="/users", tags=["users"])
Timothy J. Baek's avatar
Timothy J. Baek committed
26
app.include_router(chats.router, prefix="/chats", tags=["chats"])
Timothy J. Baek's avatar
Timothy J. Baek committed
27
28
app.include_router(modelfiles.router, prefix="/modelfiles", tags=["modelfiles"])
app.include_router(utils.router, prefix="/utils", tags=["utils"])
29
30
31
32


@app.get("/")
async def get_status():
33
    return {"status": True, "version": WEBUI_VERSION, "auth": WEBUI_AUTH}