12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- from fastapi import FastAPI, Depends
- from fastapi.routing import APIRoute
- from fastapi.middleware.cors import CORSMiddleware
- from apps.web.routers import (
- auths,
- users,
- chats,
- documents,
- modelfiles,
- prompts,
- configs,
- utils,
- )
- from config import (
- WEBUI_VERSION,
- WEBUI_AUTH,
- DEFAULT_MODELS,
- DEFAULT_PROMPT_SUGGESTIONS,
- DEFAULT_USER_ROLE,
- ENABLE_SIGNUP,
- USER_PERMISSIONS,
- WEBHOOK_URL,
- WEBUI_AUTH_TRUSTED_EMAIL_HEADER,
- JWT_EXPIRES_IN,
- AppConfig,
- )
- app = FastAPI()
- origins = ["*"]
- app.state.config = AppConfig()
- app.state.config.ENABLE_SIGNUP = ENABLE_SIGNUP
- app.state.config.JWT_EXPIRES_IN = JWT_EXPIRES_IN
- app.state.config.DEFAULT_MODELS = DEFAULT_MODELS
- app.state.config.DEFAULT_PROMPT_SUGGESTIONS = DEFAULT_PROMPT_SUGGESTIONS
- app.state.config.DEFAULT_USER_ROLE = DEFAULT_USER_ROLE
- app.state.config.USER_PERMISSIONS = USER_PERMISSIONS
- app.state.config.WEBHOOK_URL = WEBHOOK_URL
- app.state.AUTH_TRUSTED_EMAIL_HEADER = WEBUI_AUTH_TRUSTED_EMAIL_HEADER
- 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"])
- 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"])
- app.include_router(configs.router, prefix="/configs", tags=["configs"])
- app.include_router(utils.router, prefix="/utils", tags=["utils"])
- @app.get("/")
- async def get_status():
- return {
- "status": True,
- "auth": WEBUI_AUTH,
- "default_models": app.state.config.DEFAULT_MODELS,
- "default_prompt_suggestions": app.state.config.DEFAULT_PROMPT_SUGGESTIONS,
- }
|