37 lines
1.0 KiB
Python
37 lines
1.0 KiB
Python
from pydantic import BaseModel
|
|
from typing import Any, Dict, List, Optional
|
|
|
|
class SQLExecuteRequest(BaseModel):
|
|
sql: str
|
|
|
|
class SQLExecuteResponse(BaseModel):
|
|
success: bool
|
|
message: str
|
|
data: Optional[Any] = None
|
|
rows_affected: Optional[int] = None
|
|
|
|
class TableDataRequest(BaseModel):
|
|
table_name: str
|
|
limit: Optional[int] = 100
|
|
offset: Optional[int] = 0
|
|
|
|
class TableDataResponse(BaseModel):
|
|
success: bool
|
|
message: str
|
|
data: Optional[List[Dict[str, Any]]] = None
|
|
total_count: Optional[int] = None
|
|
|
|
class CreateTableRequest(BaseModel):
|
|
table_name: str
|
|
columns: Dict[str, str] # 列名: 数据类型
|
|
primary_key: Optional[str] = None
|
|
|
|
class ImportDataRequest(BaseModel):
|
|
table_name: str
|
|
data: List[Dict[str, Any]]
|
|
|
|
class FileImportRequest(BaseModel):
|
|
filename: str
|
|
file_content: str # base64编码的文件内容
|
|
table_name: Optional[str] = None # 可选的自定义表名
|
|
force_overwrite: bool = False # 是否强制覆盖已存在的表 |