Bläddra i källkod

fix: check webhook key of Wecom tool in valid UUID form and fix typo (#2719)

tags/0.5.9
Bowen Liang 1 år sedan
förälder
incheckning
0ac250a035
Inget konto är kopplat till bidragsgivarens mejladress

+ 5
- 3
api/core/tools/provider/builtin/wecom/tools/wecom_group_bot.py Visa fil

@@ -4,9 +4,10 @@ import httpx

from core.tools.entities.tool_entities import ToolInvokeMessage
from core.tools.tool.builtin_tool import BuiltinTool
from core.tools.utils.uuid_utils import is_valid_uuid


class WecomRepositoriesTool(BuiltinTool):
class WecomGroupBotTool(BuiltinTool):
def _invoke(self, user_id: str, tool_parameters: dict[str, Any]
) -> Union[ToolInvokeMessage, list[ToolInvokeMessage]]:
"""
@@ -17,8 +18,9 @@ class WecomRepositoriesTool(BuiltinTool):
return self.create_text_message('Invalid parameter content')

hook_key = tool_parameters.get('hook_key', '')
if not hook_key:
return self.create_text_message('Invalid parameter hook_key')
if not is_valid_uuid(hook_key):
return self.create_text_message(
f'Invalid parameter hook_key ${hook_key}, not a valid UUID')

msgtype = 'text'
api_url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send'

+ 2
- 2
api/core/tools/provider/builtin/wecom/wecom.py Visa fil

@@ -1,8 +1,8 @@
from core.tools.provider.builtin.wecom.tools.wecom_group_bot import WecomRepositoriesTool
from core.tools.provider.builtin.wecom.tools.wecom_group_bot import WecomGroupBotTool
from core.tools.provider.builtin_tool_provider import BuiltinToolProviderController


class WecomProvider(BuiltinToolProviderController):
def _validate_credentials(self, credentials: dict) -> None:
WecomRepositoriesTool()
WecomGroupBotTool()
pass

+ 9
- 0
api/core/tools/utils/uuid_utils.py Visa fil

@@ -0,0 +1,9 @@
import uuid


def is_valid_uuid(uuid_str: str) -> bool:
try:
uuid.UUID(uuid_str)
return True
except Exception:
return False

Laddar…
Avbryt
Spara