|
|
from dataclasses import field
|
|
|
from marshmallow_dataclass import dataclass
|
|
|
from iti.applications.common.enums import StatusEnum
|
|
|
from typing import ClassVar
|
|
|
from iti.applications.common.utils.schema import BaseSchema, Pagination
|
|
|
from apiflask import fields
|
|
|
import datetime
|
|
|
|
|
|
|
|
|
@dataclass(base_schema=BaseSchema)
|
|
|
class SysConfigQuery(Pagination):
|
|
|
"""
|
|
|
系统配置查询请求
|
|
|
"""
|
|
|
|
|
|
keyword: str = field(
|
|
|
metadata={
|
|
|
"required": False,
|
|
|
"metadata": {
|
|
|
"example": "系统配置",
|
|
|
"description": "关键字(支持编码、名称 like查询)",
|
|
|
},
|
|
|
},
|
|
|
default=None,
|
|
|
)
|
|
|
code: str = field(
|
|
|
metadata={
|
|
|
"required": False,
|
|
|
"metadata": {"example": "SYSTEM_CONFIG", "description": "配置编码"},
|
|
|
},
|
|
|
default=None,
|
|
|
)
|
|
|
name: str = field(
|
|
|
metadata={
|
|
|
"required": False,
|
|
|
"metadata": {"example": "系统配置", "description": "配置名称"},
|
|
|
},
|
|
|
default=None,
|
|
|
)
|
|
|
type: str = field(
|
|
|
metadata={
|
|
|
"required": False,
|
|
|
"metadata": {"example": "SYSTEM", "description": "配置类型"},
|
|
|
},
|
|
|
default=None,
|
|
|
)
|
|
|
status: StatusEnum = field(
|
|
|
metadata={
|
|
|
"required": False,
|
|
|
"by_value": True,
|
|
|
"metadata": {"example": "enabled", "description": "状态"},
|
|
|
},
|
|
|
default=None,
|
|
|
)
|
|
|
createdAt: list[datetime.datetime] = field(
|
|
|
metadata={
|
|
|
"required": False,
|
|
|
"data_key": "createdAt[]",
|
|
|
"metadata": {
|
|
|
"example": ["2025-01-01 00:00:00", "2025-01-01 23:59:59"],
|
|
|
"description": "创建时间",
|
|
|
},
|
|
|
},
|
|
|
default=None,
|
|
|
)
|
|
|
updatedAt: list[datetime.datetime] = field(
|
|
|
metadata={
|
|
|
"required": False,
|
|
|
"data_key": "updatedAt[]",
|
|
|
"metadata": {
|
|
|
"example": ["2025-01-01 00:00:00", "2025-01-01 23:59:59"],
|
|
|
"description": "更新时间",
|
|
|
},
|
|
|
},
|
|
|
default=None,
|
|
|
)
|
|
|
Schema: ClassVar[BaseSchema] = BaseSchema # For the type check
|
|
|
|
|
|
|
|
|
class SysConfigCreateRequest(BaseSchema):
|
|
|
"""
|
|
|
创建系统配置请求
|
|
|
"""
|
|
|
|
|
|
type: str = fields.String(
|
|
|
metadata={"example": "SYSTEM", "description": "配置类型"},
|
|
|
required=True,
|
|
|
)
|
|
|
name: str = fields.String(
|
|
|
metadata={"example": "系统配置", "description": "配置名称"},
|
|
|
required=True,
|
|
|
)
|
|
|
code: str = fields.String(
|
|
|
metadata={"example": "SYSTEM_CONFIG", "description": "配置编码"},
|
|
|
required=True,
|
|
|
)
|
|
|
value: str = fields.String(
|
|
|
metadata={"example": "系统配置值", "description": "配置值"},
|
|
|
load_default=None,
|
|
|
)
|
|
|
desc: str = fields.String(
|
|
|
metadata={"example": "系统配置描述", "description": "配置描述"},
|
|
|
load_default=None,
|
|
|
)
|
|
|
sort: int = fields.Integer(
|
|
|
metadata={"example": 0, "description": "配置排序"},
|
|
|
load_default=0,
|
|
|
)
|
|
|
status: StatusEnum = fields.Enum(
|
|
|
StatusEnum,
|
|
|
required=False,
|
|
|
by_value=True,
|
|
|
metadata={"example": "enabled", "description": "状态"},
|
|
|
load_default=StatusEnum.ENABLED,
|
|
|
)
|
|
|
|
|
|
|
|
|
class SysConfigUpdateRequest(BaseSchema):
|
|
|
"""
|
|
|
更新系统配置请求
|
|
|
"""
|
|
|
|
|
|
type: str = fields.String(
|
|
|
metadata={"example": "SYSTEM", "description": "配置类型"},
|
|
|
required=False,
|
|
|
load_default=None,
|
|
|
)
|
|
|
name: str = fields.String(
|
|
|
metadata={"example": "系统配置", "description": "配置名称"},
|
|
|
required=False,
|
|
|
load_default=None,
|
|
|
)
|
|
|
code: str = fields.String(
|
|
|
metadata={"example": "SYSTEM_CONFIG", "description": "配置编码"},
|
|
|
required=False,
|
|
|
load_default=None,
|
|
|
)
|
|
|
value: str = fields.String(
|
|
|
metadata={"example": "系统配置值", "description": "配置值"},
|
|
|
required=False,
|
|
|
load_default=None,
|
|
|
)
|
|
|
desc: str = fields.String(
|
|
|
metadata={"example": "系统配置描述", "description": "配置描述"},
|
|
|
required=False,
|
|
|
load_default=None,
|
|
|
)
|
|
|
sort: int = fields.Integer(
|
|
|
metadata={"example": 0, "description": "配置排序"},
|
|
|
required=False,
|
|
|
load_default=None,
|
|
|
)
|
|
|
status: StatusEnum = fields.Enum(
|
|
|
StatusEnum,
|
|
|
by_value=True,
|
|
|
metadata={"example": "enabled", "description": "状态"},
|
|
|
required=False,
|
|
|
load_default=None,
|
|
|
)
|