You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							110 lines
						
					
					
						
							4.1 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							110 lines
						
					
					
						
							4.1 KiB
						
					
					
				| from pydantic import BaseModel | |
| 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 | |
| from pydantic.alias_generators import to_camel | |
| from pydantic_validation_decorator import NotBlank, Size | |
| 
 | |
| 
 | |
| class CrudMetaSecurityModel(BaseModel): | |
|     is_success: bool | |
|     message: str | |
| 
 | |
| 
 | |
| class MetaSecurityRowModel(BaseModel): | |
|     """ | |
|     数据源行控制表对应Pydantic模型 | |
|     """ | |
|     model_config = ConfigDict(alias_generator=to_camel, from_attributes=True) | |
|     rowId: Optional[str] = None | |
|     create_by: Optional[str] = None | |
|     create_time: Optional[datetime] = None | |
|     update_by: Optional[str] = None | |
|     update_time: Optional[datetime] = None | |
|     dbRName: Optional[str] = None | |
|     dbRID: Optional[int] = None | |
|     dbSName: Optional[str] = None | |
|     dbTName: Optional[str] = None | |
|     dbCName: Optional[str] = None | |
|     ctrl_type: Optional[str] = None  # control type (e.g., '0', '1', '2') | |
|     obj_type: Optional[str] = None  # object type (e.g., '0', '1') | |
|     obj_value: Optional[object] = None | |
|     obj_name: Optional[object] = None | |
|     isStop: Optional[bool] = None | |
|     ctrl_value: Optional[str] = None | |
|     ctrl_table: Optional[str] = None | |
|     ctrl_col: Optional[str] = None | |
|     ctrl_system: Optional[str] = None | |
| 
 | |
| 
 | |
| 
 | |
| class MetaSecurityColModel(BaseModel): | |
|     """ | |
|     数据源控制表对应Pydantic模型 | |
|     """ | |
|     model_config = ConfigDict(alias_generator=to_camel, from_attributes=True) | |
|     colId: Optional[str] = None | |
|     create_by: Optional[str] = None | |
|     create_time: Optional[datetime] = None | |
|     update_by: Optional[str] = None | |
|     update_time: Optional[datetime] = None | |
|     dbRName: Optional[str] = None | |
|     generate_type: Optional[str] = None | |
|     dbRID: Optional[int] = None | |
|     dbSName: Optional[str] = None | |
|     dbTName: Optional[str] = None | |
|     dbCName: Optional[str] = None | |
|     ctrl_type: Optional[str] = None  # control type (e.g., '0', '1') | |
|     obj_type: Optional[str] = None  # object type (e.g., '0', '1') | |
|     obj_value: Optional[object] = None | |
|     obj_name: Optional[object] = None | |
|     isStop: Optional[bool] = None | |
| @as_query | |
| class MetaSecurityRowPageQueryModel(MetaSecurityRowModel): | |
|     """ | |
|     元数据任务分页查询模型 | |
|     """ | |
|     page_num: int = Field(default=1, description='当前页码') | |
|     page_size: int = Field(default=10, description='每页记录数') | |
| @as_query  | |
| class MetaSecurityColPageQueryModel(MetaSecurityColModel): | |
|     """ | |
|     元数据任务分页查询模型 | |
|     """ | |
|     page_num: int = Field(default=1, description='当前页码') | |
|     page_size: int = Field(default=10, description='每页记录数') | |
| 
 | |
| class DeleteMetaSecurityModel(BaseModel): | |
|     """ | |
|     删除参数配置模型 | |
|     """ | |
|     model_config = ConfigDict(alias_generator=to_camel) | |
|     metaSecurity_ids: str = Field(description='需要删除的参数主键') | |
| class MetaSecurityApiModel(BaseModel): | |
|     """ | |
|     数据源行控制表对应Pydantic模型 | |
|     """ | |
|     model_config = ConfigDict(alias_generator=to_camel, from_attributes=True) | |
|     dbRCode: Optional[str] = None | |
|     username: Optional[str] = Field(default=None, description='用户名称') | |
|     password: Optional[str] = Field(default=None, description='用户密码') | |
|     sqlStr: Optional[str] = Field(default=None, description='sql') | |
|     isPage: Optional[bool] = Field(default=False, description='是否分页') | |
|     pageNum: Optional[int] = Field(default=1, description='sql') | |
|     pageSize: Optional[int] = Field(default=10, description='sql') | |
| 
 | |
|     @NotBlank(field_name='username', message='用户名称不能为空') | |
|     @Size(field_name='username', min_length=0, max_length=100, message='用户名称长度不能超过100个字符') | |
|     def get_username(self): | |
|         return self.username | |
|     @NotBlank(field_name='password', message='用户密码不能为空') | |
|     def get_password(self): | |
|         return self.password | |
|     @NotBlank(field_name='sqlStr', message='sql不能为空') | |
|     def get_sqlStr(self): | |
|         return self.username        | |
|     def validate_fields(self): | |
|         self.get_username() | |
|         self.get_password() | |
|         self.get_sqlStr()
 | |
| 
 |