from pydantic import BaseModel from typing import Optional,List from datetime import datetime from pydantic.alias_generators import to_camel from module_admin.annotation.pydantic_annotation import as_query from pydantic import ConfigDict, Field class DataAstInfoModel(BaseModel): """ 数据资产信息模型 (对应 t_data_ast_info_appr 表) """ model_config = ConfigDict(alias_generator=to_camel, from_attributes=True) class DataAstInfoModel(BaseModel): """ 数据资产信息模型 (对应 t_data_ast_info_appr 表) """ model_config = ConfigDict(alias_generator=to_camel, from_attributes=True) onum: Optional[str] = Field(default=None, description='序号', alias='onum') data_ast_eng_name: Optional[str] = Field(default=None, description='数据资产英文名称', alias='dataAstEngName') data_ast_cn_name: Optional[str] = Field(default=None, description='数据资产中文名称', alias='dataAstCnName') data_ast_type: Optional[str] = Field(default=None, description='数据资产类型', alias='dataAstType') data_ast_stat: Optional[str] = Field(default=None, description='数据资产状态', alias='dataAstStat') data_ast_desc: Optional[str] = Field(default=None, description='数据资产描述/说明', alias='dataAstDesc') data_ast_screen: Optional[str] = Field(default=None, description='资产应用场景', alias='dataAstScreen') data_ast_scren_clas: Optional[str] = Field(default=None, description='应用场景分类', alias='dataAstScrenClas') data_ast_cont: Optional[str] = Field(default=None, description='数据资产内容', alias='dataAstCont') data_ast_faq: Optional[str] = Field(default=None, description='数据资产常见问题', alias='dataAstFaq') data_ast_estb_time: Optional[datetime] = Field(default=None, description='数据资产建立时间', alias='dataAstEstbTime') data_ast_upd_time: Optional[datetime] = Field(default=None, description='数据资产更新时间', alias='dataAstUpdTime') data_ast_src: Optional[str] = Field(default=None, description='数据资产来源', alias='dataAstSrc') ast_no: Optional[int] = Field(default=None, description='数据资产编号', alias='astNo') data_ast_clas: Optional[str] = Field(default=None, description='数据资产标签', alias='dataAstClas') version_no: Optional[str] = Field(default=None, description='版本号', alias='versionNo') create_by: Optional[str] = Field(default=None, description='创建人', alias='createBy') create_time: Optional[datetime] = Field(default=None, description='创建时间', alias='createTime') upd_prsn: Optional[str] = Field(default=None, description='更新者', alias='updPrsn') upd_time: Optional[datetime] = Field(default=None, description='更新时间', alias='updTime') @as_query class DataAstInfoPageQueryModel(DataAstInfoModel): """ 数据资产分页查询模型 """ page_num: int = Field(default=1, description='当前页码') page_size: int = Field(default=10, description='每页记录数') class DataAstApprModel(DataAstInfoModel): """ 数据资产审批申请模型 """ changeType: Optional[str] = Field(default=None, description='变更类型') flowId: Optional[str] = Field(default=None, description='审批Id') oldInstId: Optional[str] = Field(default=None, description='原始正式id') compareId: Optional[str] = Field(default=None, description='原始数据id(用于对比差异)') approStatus: Optional[str] = Field(default=None, description='审批状态(waiting,申请中,pending审核中,succeed,rejected已审核,canceled已取消)') class DataAstApprBatchModel(BaseModel): """ 数据资产审批申请批量提交模型 """ assetItems: List[DataAstApprModel]