71 lines
2.2 KiB
Python

# _*_ coding : UTF-8 _*_
# @Time : 2025/02/12 17:03
# @UpdateTime : 2025/02/12 17:03
# @Author : sonder
# @File : config.py
# @Software : PyCharm
# @Comment : 本程序
from datetime import datetime
from typing import Optional, List
from pydantic import BaseModel, Field, ConfigDict
from pydantic.alias_generators import to_camel
from schemas.common import BaseResponse, ListQueryResult
class ConfigInfo(BaseModel):
"""
配置信息模型
"""
model_config = ConfigDict(alias_generator=to_camel)
id: str = Field(..., description="主键")
create_by: str = Field(default="", description="创建者")
create_time: Optional[datetime] = Field(default=None, description="创建时间")
update_by: str = Field(default="", description="更新者")
update_time: Optional[datetime] = Field(default=None, description="更新时间")
name: str = Field(default="", description="配置名称")
key: str = Field(default="", description="配置键名")
value: str = Field(default="", description="配置值")
type: bool = Field(default=False, description="系统内置")
remark: str = Field(default="", description="备注")
class AddConfigParams(BaseModel):
"""
添加配置参数模型
"""
name: str = Field(..., max_length=100, description="配置名称")
key: str = Field(..., max_length=100, description="配置键名")
value: str = Field(..., max_length=100, description="配置值")
type: bool = Field(default=False, description="系统内置")
remark: Optional[str] = Field(default=None, max_length=255, description="备注信息")
class DeleteConfigListParams(BaseModel):
"""
批量删除配置参数模型
"""
ids: List[str] = Field(default=[], description="配置ID")
class GetConfigInfoResponse(BaseResponse):
"""
获取配置模型信息响应
"""
data: ConfigInfo = Field(default=None, description="响应数据")
class GetConfigInfoResult(ListQueryResult):
"""
获取配置模型信息结果
"""
result: List[ConfigInfo] = Field(default=[], description="列表数据")
class GetConfigListResponse(BaseResponse):
"""
获取配置列表响应
"""
data: GetConfigInfoResult = Field(default=None, description="响应数据")