forked from iti-framework/iTi-Flask
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.
145 lines
4.0 KiB
Python
145 lines
4.0 KiB
Python
from apiflask import fields
|
|
from iti.applications.common.enums import MenuTypeEnum, StatusEnum
|
|
from iti.applications.common.utils.schema import BaseSchema
|
|
from iti.applications.models import SysMenuMetaSchema
|
|
|
|
|
|
class MenuCreateRequest(BaseSchema):
|
|
"""
|
|
创建菜单请求
|
|
"""
|
|
|
|
name = fields.String(
|
|
required=True,
|
|
metadata={"example": "菜单名称", "description": "菜单名称"},
|
|
)
|
|
type = fields.Enum(
|
|
MenuTypeEnum,
|
|
by_value=True,
|
|
required=True,
|
|
metadata={"example": "menu", "description": "菜单类型"},
|
|
)
|
|
path = fields.String(
|
|
required=True, metadata={"example": "menu", "description": "菜单路径"}
|
|
)
|
|
component = fields.String(
|
|
required=False,
|
|
metadata={"example": "menu", "description": "菜单组件"},
|
|
load_default=None,
|
|
)
|
|
redirect = fields.String(
|
|
required=False,
|
|
metadata={"example": "menu", "description": "菜单重定向"},
|
|
load_default=None,
|
|
)
|
|
sort = fields.Integer(
|
|
required=False,
|
|
metadata={"example": 0, "description": "菜单排序"},
|
|
load_default=0,
|
|
)
|
|
auth_code = fields.String(
|
|
data_key="authCode",
|
|
required=False,
|
|
metadata={"example": "sys:menu:list", "description": "权限编码"},
|
|
load_default=None,
|
|
)
|
|
meta = fields.Nested(
|
|
SysMenuMetaSchema,
|
|
required=False,
|
|
metadata={"example": {}, "description": "菜单元数据"},
|
|
load_default={},
|
|
)
|
|
status = fields.Enum(
|
|
StatusEnum,
|
|
by_value=True,
|
|
required=False,
|
|
metadata={"example": "enabled", "description": "状态"},
|
|
load_default=StatusEnum.ENABLED,
|
|
)
|
|
parent_id = fields.String(
|
|
data_key="parentId",
|
|
required=False,
|
|
metadata={"example": "0", "description": "父菜单ID"},
|
|
load_default=None,
|
|
)
|
|
|
|
|
|
class MenuUpdateRequest(BaseSchema):
|
|
"""
|
|
更新菜单请求
|
|
"""
|
|
|
|
type = fields.Enum(
|
|
MenuTypeEnum,
|
|
by_value=True,
|
|
required=False,
|
|
metadata={"example": "menu", "description": "菜单类型"},
|
|
load_default=None,
|
|
)
|
|
name = fields.String(
|
|
required=False,
|
|
metadata={"example": "菜单名称", "description": "菜单名称"},
|
|
load_default=None,
|
|
)
|
|
path = fields.String(
|
|
required=False,
|
|
metadata={"example": "menu", "description": "菜单路径"},
|
|
load_default=None,
|
|
)
|
|
component = fields.String(
|
|
required=False,
|
|
metadata={"example": "menu", "description": "菜单组件"},
|
|
load_default=None,
|
|
)
|
|
sort = fields.Integer(
|
|
required=False,
|
|
metadata={"example": 0, "description": "菜单排序"},
|
|
load_default=None,
|
|
)
|
|
auth_code = fields.String(
|
|
data_key="authCode",
|
|
required=False,
|
|
metadata={"example": "sys:menu:list", "description": "权限编码"},
|
|
load_default=None,
|
|
)
|
|
meta = fields.Nested(
|
|
SysMenuMetaSchema,
|
|
required=False,
|
|
metadata={"example": {}, "description": "菜单元数据"},
|
|
load_default=None,
|
|
)
|
|
status = fields.Enum(
|
|
StatusEnum,
|
|
by_value=True,
|
|
required=False,
|
|
metadata={"example": "enabled", "description": "状态"},
|
|
load_default=None,
|
|
)
|
|
parent_id = fields.String(
|
|
data_key="parentId",
|
|
required=False,
|
|
metadata={"example": "0", "description": "父菜单ID"},
|
|
load_default=None,
|
|
)
|
|
|
|
|
|
class MenuExistsRequest(BaseSchema):
|
|
"""
|
|
检查菜单是否存在请求
|
|
"""
|
|
|
|
id = fields.String(
|
|
required=False,
|
|
metadata={"example": "0", "description": "菜单ID"},
|
|
load_default=None,
|
|
)
|
|
|
|
path = fields.String(
|
|
required=False,
|
|
metadata={"example": "menu", "description": "菜单路径"},
|
|
)
|
|
name = fields.String(
|
|
required=False,
|
|
metadata={"example": "菜单名称", "description": "菜单名称"},
|
|
)
|