perf: Embedded Application Deletion Error

This commit is contained in:
fit2cloud-chenyw
2025-12-23 19:47:22 +08:00
committed by fit2cloud-chenyw
parent c29ea65084
commit 2cf44ac364
4 changed files with 15 additions and 4 deletions
+1 -1
View File
@@ -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)
+2 -2
View File
@@ -19,7 +19,7 @@ from common.core.config import settings
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)
+2 -1
View File
@@ -7,6 +7,7 @@ from apps.system.schemas.system_schema import AssistantBase
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)
+10
View File
@@ -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: