添加mcp配置
This commit is contained in:
13
service/wecom/schemas/base.py
Normal file
13
service/wecom/schemas/base.py
Normal file
@@ -0,0 +1,13 @@
|
||||
from pydantic import BaseModel, ConfigDict
|
||||
|
||||
|
||||
class BaseSchema(BaseModel):
|
||||
model_config = ConfigDict(
|
||||
extra="ignore",
|
||||
use_enum_values=True,
|
||||
from_attributes=True,
|
||||
validate_assignment=True,
|
||||
populate_by_name=True,
|
||||
coerce_numbers_to_str=True,
|
||||
arbitrary_types_allowed=True,
|
||||
)
|
||||
58
service/wecom/schemas/departments.py
Normal file
58
service/wecom/schemas/departments.py
Normal file
@@ -0,0 +1,58 @@
|
||||
from typing import AnyStr, List
|
||||
|
||||
from wecom.schemas.base import BaseSchema
|
||||
|
||||
|
||||
class CreateDepartmentParams(BaseSchema):
|
||||
"""
|
||||
创建部门
|
||||
|
||||
@param name: 部门名称。长度限制为1~32个字节,字符不能包括\:?”<>
|
||||
@param name_en: 英文名称
|
||||
@param parentid: 父部门id。根部门id为1
|
||||
@param order: 在父部门中的次序值。order值小的排序靠前。
|
||||
@param id: 部门id,整型。指定时必须大于1,不指定时则自动生成
|
||||
"""
|
||||
|
||||
name: str
|
||||
name_en: str | None = None
|
||||
parentid: int
|
||||
order: int | None = None
|
||||
id: int | None = None
|
||||
|
||||
|
||||
class UpdateDepartmentParams(CreateDepartmentParams): ...
|
||||
|
||||
|
||||
class UpdateDepartmentInfo(BaseSchema):
|
||||
errcode: int
|
||||
errmsg: AnyStr
|
||||
|
||||
|
||||
class CreateDepartmentInfo(BaseSchema):
|
||||
errcode: int
|
||||
errmsg: AnyStr
|
||||
id: int
|
||||
|
||||
|
||||
class DepartmentInfo(BaseSchema):
|
||||
"""
|
||||
部门单体响应数据
|
||||
"""
|
||||
|
||||
id: int
|
||||
name: AnyStr
|
||||
name_en: AnyStr | None = None
|
||||
department_leader: List[str] | None = None
|
||||
parentid: int | None = None
|
||||
order: int | None = None
|
||||
|
||||
|
||||
class DepartmentInfo(BaseSchema):
|
||||
"""
|
||||
部门整体响应数据
|
||||
"""
|
||||
|
||||
errcode: int
|
||||
errmsg: AnyStr
|
||||
department: List[DepartmentInfo]
|
||||
94
service/wecom/schemas/message.py
Normal file
94
service/wecom/schemas/message.py
Normal file
@@ -0,0 +1,94 @@
|
||||
from typing import AnyStr, Literal
|
||||
|
||||
from wecom.schemas.base import BaseSchema
|
||||
|
||||
|
||||
class MessageParams(BaseSchema):
|
||||
"""
|
||||
发送消息参数
|
||||
各类消息的参数详情 https://developer.work.weixin.qq.com/document/path/90236
|
||||
|
||||
根据msgtype的不同,选择对应的消息内容填充即可
|
||||
|
||||
@param touser: 指定接收消息的成员,成员ID列表(多个接收者用‘|’分隔,最多支持1000个)。
|
||||
@param toparty: 指定接收消息的部门,部门ID列表,多个接收者用‘|’分隔,最多支持100个。
|
||||
@param totag: 指定接收消息的标签,标签ID列表,多个接收者用‘|’分隔,最多支持100个。
|
||||
@param msgtype: 消息类型,此时固定为:text
|
||||
@param agentid: 企业应用的id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 获取该参数值
|
||||
|
||||
@param safe: 表示是否是保密消息,0表示可对外分享,1表示不能分享且内容显示水印,默认为0
|
||||
@param enable_id_trans: 表示是否开启id转译,0表示否,1表示是,默认0。仅第三方应用需要用到,企业自建应用可以忽略。
|
||||
@param enable_duplicate_check: 表示是否开启重复消息检查,0表示否,1表示是,默认0
|
||||
@param duplicate_check_interval: 表示是否重复消息检查的时间间隔,默认1800s,最大不超过4小时
|
||||
|
||||
touser、toparty、totag不能同时为空,后面不再强调
|
||||
"""
|
||||
|
||||
touser: AnyStr | None = None
|
||||
toparty: AnyStr | None = None
|
||||
totag: AnyStr | None = None
|
||||
msgtype: Literal[
|
||||
"text", "image", "voice", "video", "textcard", "news", "mpnews", "markdown"
|
||||
]
|
||||
agentid: int
|
||||
|
||||
# 各种类型的消息内容
|
||||
text: dict | None = None
|
||||
voice: dict | None = None
|
||||
video: dict | None = None
|
||||
file: dict | None = None
|
||||
textcard: dict | None = None
|
||||
news: dict | None = None
|
||||
mpnews: dict | None = None
|
||||
markdown: dict | None = None
|
||||
|
||||
safe: int = 0
|
||||
enable_id_trans: int = 0
|
||||
enable_duplicate_check: int = 0
|
||||
duplicate_check_interval: int = 1800
|
||||
|
||||
|
||||
class SendMessageInfo(BaseSchema):
|
||||
"""
|
||||
发送消息响应数据
|
||||
|
||||
"""
|
||||
|
||||
errcode: int
|
||||
errmsg: AnyStr
|
||||
invaliduser: AnyStr | None = None
|
||||
invalidparty: AnyStr | None = None
|
||||
invalidtag: AnyStr | None = None
|
||||
unlicenseduser: AnyStr | None = None
|
||||
msgid: AnyStr | None = None
|
||||
response_code: AnyStr | None = None
|
||||
|
||||
|
||||
class SendMessageInvalid(BaseSchema):
|
||||
"""
|
||||
发送消息失败响应数据
|
||||
|
||||
"""
|
||||
|
||||
errmsg: AnyStr
|
||||
invaliduser: AnyStr | None = None
|
||||
invalidparty: AnyStr | None = None
|
||||
invalidtag: AnyStr | None = None
|
||||
unlicenseduser: AnyStr | None = None
|
||||
|
||||
|
||||
class RecallMessageParams(BaseSchema):
|
||||
"""
|
||||
撤回消息请求参数
|
||||
"""
|
||||
|
||||
msgid: AnyStr
|
||||
|
||||
|
||||
class RecallMessageInfo(BaseSchema):
|
||||
"""
|
||||
撤回消息响应数据
|
||||
"""
|
||||
|
||||
errcode: int
|
||||
errmsg: AnyStr
|
||||
36
service/wecom/schemas/token.py
Normal file
36
service/wecom/schemas/token.py
Normal file
@@ -0,0 +1,36 @@
|
||||
from wecom.schemas.base import BaseSchema
|
||||
|
||||
|
||||
class AccessTokenParams(BaseSchema):
|
||||
"""
|
||||
获取access_token的参数
|
||||
@param corpid: 企业ID
|
||||
@param corpsecret: 应用的凭证密钥
|
||||
"""
|
||||
|
||||
corpid: str
|
||||
corpsecret: str
|
||||
|
||||
|
||||
class AccessTokenInfo(BaseSchema):
|
||||
"""
|
||||
获取access_token的返回数据
|
||||
@param errcode: 返回码 出错返回码,为0表示成功,非0表示调用失败
|
||||
@param errmsg: 对返回码的文本描述内容
|
||||
@param access_token: 获取到的凭证 最长为512字节
|
||||
@param expires_in: 凭证的有效时间(秒)
|
||||
"""
|
||||
|
||||
errcode: int
|
||||
errmsg: str
|
||||
access_token: str | None = None
|
||||
expires_in: int | None = None
|
||||
|
||||
|
||||
class AccessTokenInvalid(BaseSchema):
|
||||
"""
|
||||
获取access_token失败时的返回数据
|
||||
@param errmsg: 错误信息
|
||||
"""
|
||||
|
||||
errmsg: str
|
||||
39
service/wecom/schemas/users.py
Normal file
39
service/wecom/schemas/users.py
Normal file
@@ -0,0 +1,39 @@
|
||||
from typing import AnyStr, List
|
||||
|
||||
from wecom.schemas.base import BaseSchema
|
||||
|
||||
|
||||
class UserInfo(BaseSchema):
|
||||
"""
|
||||
用户单体响应数据
|
||||
"""
|
||||
|
||||
errcode: int
|
||||
errmsg: AnyStr
|
||||
userid: AnyStr | None = None
|
||||
name: AnyStr | None = None
|
||||
department: List[int] | None = None
|
||||
position: AnyStr | None = None
|
||||
moblie: AnyStr | None = None
|
||||
gender: int | None = None
|
||||
email: AnyStr | None = None
|
||||
status: int | None = None
|
||||
|
||||
|
||||
class UserSimpleInfo(BaseSchema):
|
||||
userid: AnyStr
|
||||
name: AnyStr
|
||||
department: List[int]
|
||||
open_userid: AnyStr | None = None
|
||||
|
||||
|
||||
class DepartmentUserInfo(BaseSchema):
|
||||
errcode: int
|
||||
errmsg: AnyStr
|
||||
userlist: List[UserSimpleInfo]
|
||||
|
||||
|
||||
class DepartmentUserDetailInfo(BaseSchema):
|
||||
errcode: int
|
||||
errmsg: AnyStr
|
||||
userlist: List[UserInfo]
|
||||
Reference in New Issue
Block a user