from typing import Union, Optional, List from datetime import datetime from module_admin.annotation.pydantic_annotation import as_query from pydantic import BaseModel, ConfigDict, Field, model_validator from pydantic.alias_generators import to_camel class MetaModel(BaseModel): model_config = ConfigDict(alias_generator=to_camel, from_attributes=True) ssys_cd: Optional[str] = Field(default=None, description='系统名称') mdl_name: Optional[str] = Field(default=None, description='模式名称') tab_name: Optional[str] = Field(default=None, description='表名') tab_type: Optional[str] = Field(default=None, description='表类型') col_name: Optional[str] = Field(default=None, description='字段名称') tag_name: Optional[str] = Field(default=None, description='标签名称') rec_stat: Optional[str] = Field(default=None, description='补录状态') @as_query class MetaPageObject(MetaModel): page_num: int page_size: int @as_query class MetaColObject(BaseModel): model_config = ConfigDict(alias_generator=to_camel, from_attributes=True) ssys_cd: Optional[str] = Field(default=None, description='系统名称') mdl_name: Optional[str] = Field(default=None, description='模式名称') tab_name: Optional[str] = Field(default=None, description='表名') class ColumnSuppleModel(BaseModel): model_config = ConfigDict(alias_generator=to_camel, from_attributes=True) fld_eng_name: Optional[str] = None fld_crrct_name: Optional[str] = None crrct_pk_flag: Optional[int] = None fld_desc: Optional[str] = None pic: Optional[str] = None fld_clas: Optional[str] = None fld_null_rate: Optional[str] = None rec_stat: Optional[str] = None class SuppleModel(BaseModel): model_config = ConfigDict(alias_generator=to_camel, from_attributes=True) ssys_cd: Optional[str] = None mdl_name: Optional[str] = None tab_eng_name: Optional[str] = None tab_crrct_name: Optional[str] = None tab_desc: Optional[str] = None pic: Optional[str] = None gov_flag: Optional[str] = None rec_stat: Optional[str] = None tab_clas: Optional[str] = None columnInfo: Optional[List[ColumnSuppleModel]] = None