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.
158 lines
4.9 KiB
Python
158 lines
4.9 KiB
Python
from dataclasses import field
|
|
from marshmallow_dataclass import dataclass
|
|
from marshmallow import validates_schema, ValidationError
|
|
from iti.applications.common.utils.schema import BaseSchema, Pagination
|
|
from typing import ClassVar, Optional
|
|
from apiflask import fields
|
|
|
|
|
|
@dataclass(base_schema=BaseSchema)
|
|
class NodeQuery(Pagination):
|
|
"""
|
|
节点信息查询请求
|
|
"""
|
|
|
|
endpoint_id: str = field(
|
|
default=None,
|
|
metadata={
|
|
"required": False,
|
|
"metadata": {"example": "ase1f2", "description": "采集端ID"},
|
|
},
|
|
)
|
|
status: int = field(
|
|
default=None,
|
|
metadata={
|
|
"required": False,
|
|
"metadata": {"example": 0, "description": "状态"},
|
|
},
|
|
)
|
|
Schema: ClassVar[BaseSchema] = BaseSchema # For the type check
|
|
|
|
|
|
class NodeAddRequest(BaseSchema):
|
|
"""
|
|
节点新增信息
|
|
"""
|
|
|
|
endpoint_id = fields.String(
|
|
required=False,
|
|
metadata={"example": "采集端ID", "description": "采集端ID"},
|
|
load_default=None,
|
|
)
|
|
title = fields.String(
|
|
required=False,
|
|
metadata={"example": "节点ID", "descriptrion": "节点ID"},
|
|
load_default=None,
|
|
)
|
|
mark = fields.String(
|
|
required=False,
|
|
metadata={"example": "采集标识", "description": "采集标识"},
|
|
load_default=None,
|
|
)
|
|
mark_type = fields.Integer(
|
|
required=False,
|
|
metadata={"example": "读写标识", "description": "采集类型 1:只读 2:只写 3:读写"},
|
|
load_default=1,
|
|
)
|
|
tag_label = fields.String(
|
|
required=False,
|
|
metadata={"example": "变量别名", "description": "变量别名"},
|
|
load_default=None,
|
|
)
|
|
data_type = fields.String(
|
|
required=False,
|
|
metadata={"example": "text", "description": "值类型 text: 文本 int: 整型 float: 浮点型 boolean:布尔型"},
|
|
load_default=None,
|
|
)
|
|
is_warning = fields.Integer(
|
|
required=False,
|
|
metadata={"example": "是否预警", "description": "预警类型"},
|
|
load_default=0,
|
|
)
|
|
warning_effective_config = fields.String(
|
|
required=False,
|
|
metadata={"example": "预警触发表达式", "description": "预警触发表达式"},
|
|
load_default=None,
|
|
)
|
|
is_calling = fields.Integer(
|
|
required=False,
|
|
metadata={"example": "是否报警", "description": "报警类型"},
|
|
load_default=0,
|
|
)
|
|
calling_effective_config = fields.String(
|
|
required=False,
|
|
metadata={"example": "报警触发表达式", "description": "报警触发表达式"},
|
|
load_default=None,
|
|
)
|
|
method_content = fields.String(
|
|
required=False,
|
|
metadata={"example": "方法节点", "description": "方法节点"},
|
|
load_default=None,
|
|
)
|
|
|
|
|
|
class NodeUpdateRequest(BaseSchema):
|
|
"""
|
|
节点更新信息
|
|
"""
|
|
|
|
endpoint_id = fields.String(
|
|
required=False,
|
|
metadata={"example": "采集端ID", "description": "采集端ID"},
|
|
load_default=None,
|
|
)
|
|
title = fields.String(
|
|
required=False,
|
|
metadata={"example": "节点ID", "descriptrion": "节点ID"},
|
|
load_default=None,
|
|
)
|
|
mark = fields.String(
|
|
required=False,
|
|
metadata={"example": "采集标识", "description": "采集标识"},
|
|
load_default=None,
|
|
)
|
|
mark_type = fields.Integer(
|
|
required=False,
|
|
metadata={"example": "读写标识", "description": "采集类型 1:只读 2:只写 3:读写"},
|
|
load_default=1,
|
|
)
|
|
tag_label = fields.String(
|
|
required=False,
|
|
metadata={"example": "变量别名", "description": "变量别名"},
|
|
load_default=None,
|
|
)
|
|
data_type = fields.String(
|
|
required=False,
|
|
metadata={"example": "text", "description": "值类型 text: 文本 int: 整型 float: 浮点型 boolean:布尔型"},
|
|
load_default=None,
|
|
)
|
|
is_warning = fields.Integer(
|
|
required=False,
|
|
metadata={"example": "是否预警", "description": "预警类型"},
|
|
load_default=0,
|
|
)
|
|
warning_effective_config = fields.String(
|
|
required=False,
|
|
metadata={"example": "预警触发表达式", "description": "预警触发表达式"},
|
|
load_default=None,
|
|
)
|
|
is_calling = fields.Integer(
|
|
required=False,
|
|
metadata={"example": "是否报警", "description": "报警类型"},
|
|
load_default=0,
|
|
)
|
|
calling_effective_config = fields.String(
|
|
required=False,
|
|
metadata={"example": "报警触发表达式", "description": "报警触发表达式"},
|
|
load_default=None,
|
|
)
|
|
method_content = fields.String(
|
|
required=False,
|
|
metadata={"example": "方法节点", "description": "方法节点"},
|
|
load_default=None,
|
|
)
|
|
status = fields.Integer(
|
|
required=False,
|
|
metadata={"example": 1, "description": "状态(0-禁用,1-启用)"},
|
|
load_default=None,
|
|
) |