130 lines
5.2 KiB
Python
130 lines
5.2 KiB
Python
|
|
#
|
|||
|
|
# Copyright 2024 The InfiniFlow Authors. All Rights Reserved.
|
|||
|
|
#
|
|||
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|||
|
|
# you may not use this file except in compliance with the License.
|
|||
|
|
# You may obtain a copy of the License at
|
|||
|
|
#
|
|||
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|||
|
|
#
|
|||
|
|
# Unless required by applicable law or agreed to in writing, software
|
|||
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|||
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||
|
|
# See the License for the specific language governing permissions and
|
|||
|
|
# limitations under the License.
|
|||
|
|
#
|
|||
|
|
|
|||
|
|
from typing import Optional, List, Dict, Any, Union
|
|||
|
|
from pydantic import BaseModel, Field
|
|||
|
|
|
|||
|
|
|
|||
|
|
class DeleteCanvasRequest(BaseModel):
|
|||
|
|
"""删除画布请求"""
|
|||
|
|
canvas_ids: List[str] = Field(..., description="画布ID列表")
|
|||
|
|
|
|||
|
|
|
|||
|
|
class SaveCanvasRequest(BaseModel):
|
|||
|
|
"""保存画布请求"""
|
|||
|
|
dsl: Union[str, Dict[str, Any]] = Field(..., description="DSL配置")
|
|||
|
|
title: str = Field(..., description="画布标题")
|
|||
|
|
id: Optional[str] = Field(default=None, description="画布ID(更新时提供)")
|
|||
|
|
canvas_category: Optional[str] = Field(default=None, description="画布类别")
|
|||
|
|
description: Optional[str] = Field(default=None, description="描述")
|
|||
|
|
permission: Optional[str] = Field(default=None, description="权限")
|
|||
|
|
avatar: Optional[str] = Field(default=None, description="头像")
|
|||
|
|
|
|||
|
|
|
|||
|
|
class CompletionRequest(BaseModel):
|
|||
|
|
"""完成/运行画布请求"""
|
|||
|
|
id: str = Field(..., description="画布ID")
|
|||
|
|
query: Optional[str] = Field(default="", description="查询内容")
|
|||
|
|
files: Optional[List[str]] = Field(default=[], description="文件列表")
|
|||
|
|
inputs: Optional[Dict[str, Any]] = Field(default={}, description="输入参数")
|
|||
|
|
user_id: Optional[str] = Field(default=None, description="用户ID")
|
|||
|
|
|
|||
|
|
|
|||
|
|
class RerunRequest(BaseModel):
|
|||
|
|
"""重新运行请求"""
|
|||
|
|
id: str = Field(..., description="流水线ID")
|
|||
|
|
dsl: Dict[str, Any] = Field(..., description="DSL配置")
|
|||
|
|
component_id: str = Field(..., description="组件ID")
|
|||
|
|
|
|||
|
|
|
|||
|
|
class ResetCanvasRequest(BaseModel):
|
|||
|
|
"""重置画布请求"""
|
|||
|
|
id: str = Field(..., description="画布ID")
|
|||
|
|
|
|||
|
|
|
|||
|
|
class InputFormQuery(BaseModel):
|
|||
|
|
"""获取输入表单查询参数"""
|
|||
|
|
id: str = Field(..., description="画布ID")
|
|||
|
|
component_id: str = Field(..., description="组件ID")
|
|||
|
|
|
|||
|
|
|
|||
|
|
class DebugRequest(BaseModel):
|
|||
|
|
"""调试请求"""
|
|||
|
|
id: str = Field(..., description="画布ID")
|
|||
|
|
component_id: str = Field(..., description="组件ID")
|
|||
|
|
params: Dict[str, Any] = Field(..., description="参数")
|
|||
|
|
|
|||
|
|
|
|||
|
|
class TestDBConnectRequest(BaseModel):
|
|||
|
|
"""测试数据库连接请求"""
|
|||
|
|
db_type: str = Field(..., description="数据库类型")
|
|||
|
|
database: str = Field(..., description="数据库名")
|
|||
|
|
username: str = Field(..., description="用户名")
|
|||
|
|
host: str = Field(..., description="主机")
|
|||
|
|
port: str = Field(..., description="端口")
|
|||
|
|
password: str = Field(..., description="密码")
|
|||
|
|
|
|||
|
|
|
|||
|
|
class ListCanvasQuery(BaseModel):
|
|||
|
|
"""列出画布查询参数"""
|
|||
|
|
keywords: Optional[str] = Field(default="", description="关键词")
|
|||
|
|
page: Optional[int] = Field(default=0, description="页码")
|
|||
|
|
page_size: Optional[int] = Field(default=0, description="每页大小")
|
|||
|
|
orderby: Optional[str] = Field(default="create_time", description="排序字段")
|
|||
|
|
desc: Optional[str] = Field(default="true", description="是否降序")
|
|||
|
|
canvas_category: Optional[str] = Field(default=None, description="画布类别")
|
|||
|
|
owner_ids: Optional[str] = Field(default="", description="所有者ID列表(逗号分隔)")
|
|||
|
|
|
|||
|
|
|
|||
|
|
class SettingRequest(BaseModel):
|
|||
|
|
"""画布设置请求"""
|
|||
|
|
id: str = Field(..., description="画布ID")
|
|||
|
|
title: str = Field(..., description="标题")
|
|||
|
|
permission: str = Field(..., description="权限")
|
|||
|
|
description: Optional[str] = Field(default=None, description="描述")
|
|||
|
|
avatar: Optional[str] = Field(default=None, description="头像")
|
|||
|
|
|
|||
|
|
|
|||
|
|
class TraceQuery(BaseModel):
|
|||
|
|
"""追踪查询参数"""
|
|||
|
|
canvas_id: str = Field(..., description="画布ID")
|
|||
|
|
message_id: str = Field(..., description="消息ID")
|
|||
|
|
|
|||
|
|
|
|||
|
|
class ListSessionsQuery(BaseModel):
|
|||
|
|
"""列出会话查询参数"""
|
|||
|
|
user_id: Optional[str] = Field(default=None, description="用户ID")
|
|||
|
|
page: Optional[int] = Field(default=1, description="页码")
|
|||
|
|
page_size: Optional[int] = Field(default=30, description="每页大小")
|
|||
|
|
keywords: Optional[str] = Field(default=None, description="关键词")
|
|||
|
|
from_date: Optional[str] = Field(default=None, description="开始日期")
|
|||
|
|
to_date: Optional[str] = Field(default=None, description="结束日期")
|
|||
|
|
orderby: Optional[str] = Field(default="update_time", description="排序字段")
|
|||
|
|
desc: Optional[str] = Field(default="true", description="是否降序")
|
|||
|
|
dsl: Optional[str] = Field(default="true", description="是否包含DSL")
|
|||
|
|
|
|||
|
|
|
|||
|
|
class DownloadQuery(BaseModel):
|
|||
|
|
"""下载查询参数"""
|
|||
|
|
id: str = Field(..., description="文件ID")
|
|||
|
|
created_by: str = Field(..., description="创建者ID")
|
|||
|
|
|
|||
|
|
|
|||
|
|
class UploadQuery(BaseModel):
|
|||
|
|
"""上传查询参数"""
|
|||
|
|
url: Optional[str] = Field(default=None, description="URL(可选,用于从URL下载)")
|
|||
|
|
|