refac: modernize type annotations (PEP 604 / PEP 585)
This commit is contained in:
1 parent
a59c967d7e
commit
6d0295588e
197 files changed
+3265
-3488
No files matched your search
@@ -1,44 +1,43 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import logging
|
||||
import re
|
||||
import time
|
||||
from pathlib import Path
|
||||
from typing import Optional
|
||||
import time
|
||||
import re
|
||||
|
||||
import aiohttp
|
||||
from open_webui.env import AIOHTTP_CLIENT_SESSION_SSL, AIOHTTP_CLIENT_TIMEOUT
|
||||
from open_webui.models.groups import Groups
|
||||
from pydantic import BaseModel, HttpUrl
|
||||
from fastapi import APIRouter, Depends, HTTPException, Request, status
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
from open_webui.config import BYPASS_ADMIN_ACCESS_CONTROL, CACHE_DIR
|
||||
from open_webui.constants import ERROR_MESSAGES
|
||||
from open_webui.env import AIOHTTP_CLIENT_SESSION_SSL, AIOHTTP_CLIENT_TIMEOUT
|
||||
from open_webui.internal.db import get_async_session
|
||||
|
||||
|
||||
from open_webui.models.access_grants import AccessGrants
|
||||
from open_webui.models.groups import Groups
|
||||
from open_webui.models.oauth_sessions import OAuthSessions
|
||||
from open_webui.models.tools import (
|
||||
ToolAccessResponse,
|
||||
ToolForm,
|
||||
ToolModel,
|
||||
ToolResponse,
|
||||
ToolUserResponse,
|
||||
ToolAccessResponse,
|
||||
Tools,
|
||||
ToolUserResponse,
|
||||
)
|
||||
from open_webui.models.access_grants import AccessGrants
|
||||
from open_webui.utils.access_control import (
|
||||
filter_allowed_access_grants,
|
||||
has_access,
|
||||
has_permission,
|
||||
)
|
||||
from open_webui.utils.auth import get_admin_user, get_verified_user
|
||||
from open_webui.utils.plugin import (
|
||||
get_tool_module_from_cache,
|
||||
load_tool_module_by_id,
|
||||
replace_imports,
|
||||
get_tool_module_from_cache,
|
||||
resolve_valves_schema_options,
|
||||
)
|
||||
from open_webui.utils.tools import get_tool_specs
|
||||
from open_webui.utils.auth import get_admin_user, get_verified_user
|
||||
from open_webui.utils.access_control import (
|
||||
has_permission,
|
||||
has_access,
|
||||
filter_allowed_access_grants,
|
||||
)
|
||||
from open_webui.utils.tools import get_tool_servers
|
||||
|
||||
from open_webui.config import CACHE_DIR, BYPASS_ADMIN_ACCESS_CONTROL
|
||||
from open_webui.constants import ERROR_MESSAGES
|
||||
from open_webui.utils.tools import get_tool_servers, get_tool_specs
|
||||
from pydantic import BaseModel, HttpUrl
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
@@ -248,7 +247,7 @@ def github_url_to_raw_url(url: str) -> str:
|
||||
return url
|
||||
|
||||
|
||||
@router.post('/load/url', response_model=Optional[dict])
|
||||
@router.post('/load/url', response_model=dict | None)
|
||||
async def load_tool_from_url(request: Request, form_data: LoadUrlForm, user=Depends(get_admin_user)):
|
||||
# NOTE: This is NOT a SSRF vulnerability:
|
||||
# This endpoint is admin-only (see get_admin_user), meant for *trusted* internal use,
|
||||
@@ -323,7 +322,7 @@ async def export_tools(
|
||||
############################
|
||||
|
||||
|
||||
@router.post('/create', response_model=Optional[ToolResponse])
|
||||
@router.post('/create', response_model=ToolResponse | None)
|
||||
async def create_new_tools(
|
||||
request: Request,
|
||||
form_data: ToolForm,
|
||||
@@ -401,7 +400,7 @@ async def create_new_tools(
|
||||
############################
|
||||
|
||||
|
||||
@router.get('/id/{id}', response_model=Optional[ToolAccessResponse])
|
||||
@router.get('/id/{id}', response_model=ToolAccessResponse | None)
|
||||
async def get_tools_by_id(id: str, user=Depends(get_verified_user), db: AsyncSession = Depends(get_async_session)):
|
||||
tools = await Tools.get_tool_by_id(id, db=db)
|
||||
|
||||
@@ -448,7 +447,7 @@ async def get_tools_by_id(id: str, user=Depends(get_verified_user), db: AsyncSes
|
||||
############################
|
||||
|
||||
|
||||
@router.post('/id/{id}/update', response_model=Optional[ToolModel])
|
||||
@router.post('/id/{id}/update', response_model=ToolModel | None)
|
||||
async def update_tools_by_id(
|
||||
request: Request,
|
||||
id: str,
|
||||
@@ -541,7 +540,7 @@ class ToolAccessGrantsForm(BaseModel):
|
||||
access_grants: list[dict]
|
||||
|
||||
|
||||
@router.post('/id/{id}/access/update', response_model=Optional[ToolModel])
|
||||
@router.post('/id/{id}/access/update', response_model=ToolModel | None)
|
||||
async def update_tool_access_by_id(
|
||||
request: Request,
|
||||
id: str,
|
||||
@@ -634,7 +633,7 @@ async def delete_tools_by_id(
|
||||
############################
|
||||
|
||||
|
||||
@router.get('/id/{id}/valves', response_model=Optional[dict])
|
||||
@router.get('/id/{id}/valves', response_model=dict | None)
|
||||
async def get_tools_valves_by_id(
|
||||
id: str, user=Depends(get_verified_user), db: AsyncSession = Depends(get_async_session)
|
||||
):
|
||||
@@ -676,7 +675,7 @@ async def get_tools_valves_by_id(
|
||||
############################
|
||||
|
||||
|
||||
@router.get('/id/{id}/valves/spec', response_model=Optional[dict])
|
||||
@router.get('/id/{id}/valves/spec', response_model=dict | None)
|
||||
async def get_tools_valves_spec_by_id(
|
||||
request: Request,
|
||||
id: str,
|
||||
@@ -726,7 +725,7 @@ async def get_tools_valves_spec_by_id(
|
||||
############################
|
||||
|
||||
|
||||
@router.post('/id/{id}/valves/update', response_model=Optional[dict])
|
||||
@router.post('/id/{id}/valves/update', response_model=dict | None)
|
||||
async def update_tools_valves_by_id(
|
||||
request: Request,
|
||||
id: str,
|
||||
@@ -789,7 +788,7 @@ async def update_tools_valves_by_id(
|
||||
############################
|
||||
|
||||
|
||||
@router.get('/id/{id}/valves/user', response_model=Optional[dict])
|
||||
@router.get('/id/{id}/valves/user', response_model=dict | None)
|
||||
async def get_tools_user_valves_by_id(
|
||||
id: str, user=Depends(get_verified_user), db: AsyncSession = Depends(get_async_session)
|
||||
):
|
||||
@@ -826,7 +825,7 @@ async def get_tools_user_valves_by_id(
|
||||
)
|
||||
|
||||
|
||||
@router.get('/id/{id}/valves/user/spec', response_model=Optional[dict])
|
||||
@router.get('/id/{id}/valves/user/spec', response_model=dict | None)
|
||||
async def get_tools_user_valves_spec_by_id(
|
||||
request: Request,
|
||||
id: str,
|
||||
@@ -871,7 +870,7 @@ async def get_tools_user_valves_spec_by_id(
|
||||
return None
|
||||
|
||||
|
||||
@router.post('/id/{id}/valves/user/update', response_model=Optional[dict])
|
||||
@router.post('/id/{id}/valves/user/update', response_model=dict | None)
|
||||
async def update_tools_user_valves_by_id(
|
||||
request: Request,
|
||||
id: str,
|
||||
|
||||
Reference in new issue
Block a user