diff --git a/backend/apps/system/api/assistant.py b/backend/apps/system/api/assistant.py index e2980642..b43cf695 100644 --- a/backend/apps/system/api/assistant.py +++ b/backend/apps/system/api/assistant.py @@ -195,7 +195,7 @@ async def get_one(session: SessionDep, id: int = Path(description="ID")): return db_model -@router.delete("/{id}", response_model=AssistantModel, summary=f"{PLACEHOLDER_PREFIX}assistant_del_api", description=f"{PLACEHOLDER_PREFIX}assistant_del_api") +@router.delete("/{id}", summary=f"{PLACEHOLDER_PREFIX}assistant_del_api", description=f"{PLACEHOLDER_PREFIX}assistant_del_api") @clear_cache(namespace=CacheNamespace.EMBEDDED_INFO, cacheName=CacheName.ASSISTANT_INFO, keyExpression="id") async def delete(request: Request, session: SessionDep, id: int = Path(description="ID")): db_model = session.get(AssistantModel, id) diff --git a/backend/apps/system/crud/assistant.py b/backend/apps/system/crud/assistant.py index f6a12ee6..5cd27af8 100644 --- a/backend/apps/system/crud/assistant.py +++ b/backend/apps/system/crud/assistant.py @@ -19,7 +19,7 @@ from common.core.db import engine from common.core.sqlbot_cache import cache from common.utils.aes_crypto import simple_aes_decrypt -from common.utils.utils import equals_ignore_case, string_to_numeric_hash +from common.utils.utils import equals_ignore_case, get_domain_list, string_to_numeric_hash from common.core.deps import Trans @@ -81,7 +81,7 @@ def init_dynamic_cors(app: FastAPI): unique_domains = [] for item in list_result: if item.domain: - for domain in item.domain.split(','): + for domain in get_domain_list(item.domain): domain = domain.strip() if domain and domain not in seen: seen.add(domain) diff --git a/backend/apps/system/crud/assistant_manage.py b/backend/apps/system/crud/assistant_manage.py index bc958742..b52913a2 100644 --- a/backend/apps/system/crud/assistant_manage.py +++ b/backend/apps/system/crud/assistant_manage.py @@ -7,6 +7,7 @@ from common.core.config import settings from apps.system.models.system_model import AssistantModel from common.utils.time import get_timestamp +from common.utils.utils import get_domain_list def dynamic_upgrade_cors(request: Request, session: Session): @@ -15,7 +16,7 @@ def dynamic_upgrade_cors(request: Request, session: Session): unique_domains = [] for item in list_result: if item.domain: - for domain in item.domain.split(','): + for domain in get_domain_list(item.domain): domain = domain.strip() if domain and domain not in seen: seen.add(domain) diff --git a/backend/common/utils/utils.py b/backend/common/utils/utils.py index ec8c0d85..3c3bdd0d 100644 --- a/backend/common/utils/utils.py +++ b/backend/common/utils/utils.py @@ -274,6 +274,16 @@ def origin_match_domain(origin: str, domain: str) -> bool: return True return False + +def get_domain_list(domain: str) -> list[str]: + domains = [] + if not domain: + return domains + for d in re.split(r'[,;]', domain): + d_clean = d.strip().rstrip('/') + if d_clean: + domains.append(d_clean) + return domains def equals_ignore_case(str1: str, *args: str) -> bool: