You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
iTi-System/iti_system/routes/schemas/config.py

160 lines
4.5 KiB
Python

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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,
)