Files
open-webui/backend/apps/web/main.py

69 lines
1.9 KiB
Python
Raw Normal View History

from fastapi import FastAPI, Depends
from fastapi.routing import APIRoute
2023-11-18 16:47:12 -08:00
from fastapi.middleware.cors import CORSMiddleware
2024-01-07 23:43:32 -08:00
from apps.web.routers import (
auths,
users,
chats,
documents,
modelfiles,
prompts,
configs,
utils,
)
2024-02-14 01:17:43 -08:00
from config import (
WEBUI_VERSION,
WEBUI_AUTH,
DEFAULT_MODELS,
DEFAULT_PROMPT_SUGGESTIONS,
DEFAULT_USER_ROLE,
ENABLE_SIGNUP,
USER_PERMISSIONS,
2024-03-20 18:35:02 -07:00
WEBHOOK_URL,
WEBUI_AUTH_TRUSTED_EMAIL_HEADER,
JWT_EXPIRES_IN,
config_get,
2024-02-14 01:17:43 -08:00
)
2023-11-18 16:47:12 -08:00
app = FastAPI()
origins = ["*"]
2024-02-06 20:58:07 +02:00
app.state.ENABLE_SIGNUP = ENABLE_SIGNUP
app.state.JWT_EXPIRES_IN = JWT_EXPIRES_IN
2024-02-19 20:44:00 -08:00
2024-01-22 21:07:40 -08:00
app.state.DEFAULT_MODELS = DEFAULT_MODELS
app.state.DEFAULT_PROMPT_SUGGESTIONS = DEFAULT_PROMPT_SUGGESTIONS
2024-02-14 01:17:43 -08:00
app.state.DEFAULT_USER_ROLE = DEFAULT_USER_ROLE
app.state.USER_PERMISSIONS = USER_PERMISSIONS
2024-03-20 18:35:02 -07:00
app.state.WEBHOOK_URL = WEBHOOK_URL
app.state.AUTH_TRUSTED_EMAIL_HEADER = WEBUI_AUTH_TRUSTED_EMAIL_HEADER
2023-11-18 16:47:12 -08:00
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"])
app.include_router(chats.router, prefix="/chats", tags=["chats"])
2024-01-07 23:43:32 -08:00
app.include_router(documents.router, prefix="/documents", tags=["documents"])
app.include_router(modelfiles.router, prefix="/modelfiles", tags=["modelfiles"])
app.include_router(prompts.router, prefix="/prompts", tags=["prompts"])
2024-01-02 16:48:10 -08:00
app.include_router(configs.router, prefix="/configs", tags=["configs"])
2023-12-26 22:10:22 -08:00
app.include_router(utils.router, prefix="/utils", tags=["utils"])
2023-11-18 16:47:12 -08:00
@app.get("/")
async def get_status():
2024-01-02 16:48:10 -08:00
return {
"status": True,
"auth": WEBUI_AUTH,
"default_models": config_get(app.state.DEFAULT_MODELS),
"default_prompt_suggestions": config_get(app.state.DEFAULT_PROMPT_SUGGESTIONS),
2024-01-02 16:48:10 -08:00
}