137 lines
5.0 KiB
Python
137 lines
5.0 KiB
Python
# _*_ coding : UTF-8 _*_
|
|
# @Time : 2025/02/28 18:00
|
|
# @UpdateTime : 2025/02/28 18:00
|
|
# @Author : sonder
|
|
# @File : generate.py
|
|
# @Software : PyCharm
|
|
# @Comment : 本程序
|
|
from typing import List
|
|
|
|
from pydantic import BaseModel, Field, ConfigDict
|
|
from pydantic.alias_generators import to_camel, to_snake
|
|
|
|
from schemas.common import BaseResponse, ListQueryResult
|
|
|
|
|
|
class TableInfo(BaseModel):
|
|
"""
|
|
数据表信息模型
|
|
"""
|
|
model_config = ConfigDict(alias_generator=to_snake)
|
|
id: str = Field(default="", description="主键")
|
|
table_name: str = Field(default="", description="表名称")
|
|
table_comment: str = Field(default="", description="表注释")
|
|
table_rows: int = Field(default=0, description="表行数")
|
|
data_length: str = Field(default="", description="表大小")
|
|
index_length: str = Field(default="", description="索引大小")
|
|
create_time: str = Field(default="", description="创建时间")
|
|
update_time: str = Field(default="", description="更新时间")
|
|
|
|
|
|
class GenerateTableInfo(BaseModel):
|
|
"""
|
|
生成表信息模型
|
|
"""
|
|
model_config = ConfigDict(alias_generator=to_snake)
|
|
id: str = Field(default="", description="主键")
|
|
table_name: str = Field(default="", description="表名称")
|
|
table_comment: str = Field(default="", description="表注释")
|
|
author: str = Field(default="", description="作者")
|
|
prefix: str = Field(default="", description="api前缀")
|
|
class_name: str = Field(default="", description="类名")
|
|
remark: str = Field(default="", description="备注")
|
|
description: str = Field(default="", description="描述")
|
|
permission_id: str = Field(default="", description="权限ID")
|
|
create_time: str = Field(default="", description="创建时间")
|
|
update_time: str = Field(default="", description="更新时间")
|
|
|
|
|
|
class GetTableListResult(ListQueryResult):
|
|
"""
|
|
获取数据表结果
|
|
"""
|
|
result: List[TableInfo] = Field(default=None, description="响应数据")
|
|
|
|
|
|
class GetTablesListResponse(BaseResponse):
|
|
"""
|
|
获取数据库表结果
|
|
"""
|
|
data: TableInfo = Field(default=None, description="响应数据")
|
|
|
|
|
|
class AddGenerateInfoParams(BaseModel):
|
|
"""
|
|
添加生成信息参数
|
|
"""
|
|
table_name: str = Field(default="", description="表名称")
|
|
table_comment: str = Field(default="", description="表注释")
|
|
author: str = Field(default="", description="作者")
|
|
prefix: str = Field(default="", description="api前缀")
|
|
class_name: str = Field(default="", description="类名")
|
|
remark: str = Field(default="", description="备注")
|
|
permission_id: str = Field(default="", description="权限ID")
|
|
description: str = Field(default="", description="备注")
|
|
|
|
|
|
class GenerateColumnInfo(BaseModel):
|
|
"""
|
|
生成列信息
|
|
"""
|
|
model_config = ConfigDict(alias_generator=to_snake)
|
|
id: str = Field(default="", description="主键")
|
|
table_id: str = Field(default="", description="表ID")
|
|
table_name: str = Field(default="", description="表名称")
|
|
table_comment: str = Field(default="", description="表注释")
|
|
column_name: str = Field(default="", description="字段名称")
|
|
column_comment: str = Field(default="", description="字段注释")
|
|
column_type: str = Field(default="", description="字段类型")
|
|
python_type: str = Field(default="", description="python类型")
|
|
python_name: str = Field(default="", description="python名称")
|
|
is_insert: bool = Field(default=True, description="是否插入")
|
|
is_edit: bool = Field(default=True, description="是否编辑")
|
|
is_list: bool = Field(default=True, description="是否列表")
|
|
is_query: bool = Field(default=True, description="是否查询")
|
|
query_way: str = Field(default="", description="查询方式")
|
|
show_type: str = Field(default="", description="显示类型")
|
|
is_required: bool = Field(default=False, description="是否必填")
|
|
is_hide: bool = Field(default=False, description="是否隐藏")
|
|
index: int = Field(default=0, description="索引")
|
|
create_time: str = Field(default="", description="创建时间")
|
|
update_time: str = Field(default="", description="更新时间")
|
|
|
|
|
|
class UpdateGenerateInfoParams(BaseModel):
|
|
"""
|
|
更新生成信息参数
|
|
"""
|
|
columns: List[GenerateColumnInfo] = Field(default=None, description="生成列信息")
|
|
|
|
|
|
class GetGenerateInfoResult(GenerateTableInfo):
|
|
"""
|
|
获取生成信息结果
|
|
"""
|
|
columns: List[GenerateColumnInfo] = Field(default=None, description="生成列信息")
|
|
|
|
|
|
class GetGenerateInfoListResult(ListQueryResult):
|
|
"""
|
|
获取生成信息结果
|
|
"""
|
|
result: List[GetGenerateInfoResult] = Field(default=[], description="响应数据")
|
|
|
|
|
|
class GetGenerateInfoResponse(BaseResponse):
|
|
"""
|
|
获取生成信息结果
|
|
"""
|
|
data: GetGenerateInfoResult = Field(default=None, description="响应数据")
|
|
|
|
|
|
class GetGenerateInfoListResponse(BaseResponse):
|
|
"""
|
|
获取生成信息结果
|
|
"""
|
|
data: GetGenerateInfoListResult = Field(default=[], description="响应数据")
|