From 7631e6791ad2cddfa802a6f1b557f3328e54b97f Mon Sep 17 00:00:00 2001 From: zxstty Date: Sun, 20 Apr 2025 17:01:49 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=AE=8C=E5=96=84service=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/manager/service.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/apps/manager/service.py b/apps/manager/service.py index 683d573c8..17bc591d2 100644 --- a/apps/manager/service.py +++ b/apps/manager/service.py @@ -219,7 +219,20 @@ class ServiceCenterManager: """获取服务数据""" # 验证用户权限 service_collection = MongoDB.get_collection("service") - db_service = await service_collection.find_one({"_id": service_id, "author": user_sub}) + match_conditions = { + {"author": user_sub}, + { + "permission.type": PermissionType.PUBLIC.value + }, + { + "$and": [ + {"permission.type": PermissionType.PROTECTED.value}, + {"permission.users": {"$in": [user_sub]}}, + ], + } + } + query = {"$and": [{"service_id": service_id}, {"$or": match_conditions}]} + db_service = await service_collection.find_one(query) if not db_service: msg = "Service not found" raise ServiceIDError(msg) @@ -253,7 +266,6 @@ class ServiceCenterManager: metadata_data = yaml.safe_load(await f.read()) return ServiceMetadata.model_validate(metadata_data) - @staticmethod async def delete_service( user_sub: str, -- Gitee From e3fccc77c91ae860d03c29f56a5152de294fd012 Mon Sep 17 00:00:00 2001 From: zxstty Date: Sun, 20 Apr 2025 17:28:54 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=B5=81=E5=AD=98?= =?UTF-8?q?=E5=82=A8=E5=8E=BB=E9=99=A4=E5=86=97=E4=BD=99=E7=BB=93=E6=9E=84?= =?UTF-8?q?=E7=9A=84=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/routers/chat.py | 2 -- apps/service/flow.py | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/routers/chat.py b/apps/routers/chat.py index c00e0a409..cf0d2f8d0 100644 --- a/apps/routers/chat.py +++ b/apps/routers/chat.py @@ -81,8 +81,6 @@ async def chat_generator(post_body: RequestData, user_sub: str, session_id: str) break yield "data: " + content + "\n\n" - import time - time.sleep(0.3) # 等待Scheduler运行完毕 await scheduler_task diff --git a/apps/service/flow.py b/apps/service/flow.py index 23f111dc7..f18d4e4f5 100644 --- a/apps/service/flow.py +++ b/apps/service/flow.py @@ -47,8 +47,10 @@ class FlowService: call_class: type[BaseModel] = await Pool().get_call(node.call_id) if not call_class: node.node_id = 'Empty' + node.description = '【对应的api工具被删除!节点不可用!请联系相关人员!】\n\n'+node.description except Exception as e: node.node_id = 'Empty' + node.description = '【对应的api工具被删除!节点不可用!请联系相关人员!】\n\n'+node.description logger.error(f"[FlowService] 获取步骤的call_id失败{node.call_id}由于:{e}") node_branch_map[node.step_id] = set() if node.call_id == NodeType.CHOICE.value: -- Gitee