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.

112 lines
3.3 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 EndpointQuery(Pagination):
"""
采集端信息查询请求
"""
keyword: Optional[str] = field(
default=None,
metadata={
"required": False,
"metadata": {
"description": "关键字 [采集端名称|采集端编号|采集端IP] 模糊查询"
},
},
)
status: int = field(
default=None,
metadata={
"required": False,
"metadata": {"example": 0, "description": "状态"},
},
)
Schema: ClassVar[BaseSchema] = BaseSchema # For the type check
class EndpointAddRequest(BaseSchema):
"""
采集端新增信息
"""
endpoint_name = fields.String(
required=True,
metadata={"example": "采集端名称", "descriptrion": "采集端名称"},
)
endpoint_number = fields.String(
required=True,
metadata={"example": "采集端编号", "description": "采集端编号"},
)
description = fields.String(
required=False,
metadata={"example": "采集端描述", "description": "采集端描述"},
load_default=None,
)
ip = fields.String(
required=True,
metadata={"example": "采集端IP", "description": "采集端IP"},
)
port = fields.String(
required=True,
metadata={"example": "采集端端口", "description": "采集端端口"},
)
brand_name = fields.String(
required=False,
metadata={"example": "品牌名称", "description": "品牌名称"},
load_default=None,
)
specification_model = fields.String(
required=False,
metadata={"example": "规格型号", "description": "规格型号"},
load_default=None,
)
class EndpointUpdateRequest(BaseSchema):
"""
更新采集端信息
"""
endpoint_name = fields.String(
required=True,
metadata={"example": "采集端名称", "descriptrion": "采集端名称"},
)
endpoint_number = fields.String(
required=True,
metadata={"example": "采集端编号", "description": "采集端编号"},
)
description = fields.String(
required=False,
metadata={"example": "采集端描述", "description": "采集端描述"},
load_default=None,
)
ip = fields.String(
required=True,
metadata={"example": "采集端IP", "description": "采集端IP"},
)
port = fields.String(
required=True,
metadata={"example": "采集端端口", "description": "采集端端口"},
)
brand_name = fields.String(
required=False,
metadata={"example": "品牌名称", "description": "品牌名称"},
load_default=None,
)
specification_model = fields.String(
required=False,
metadata={"example": "规格型号", "description": "规格型号"},
load_default=None,
)
status = fields.Integer(
required=False,
metadata={"example": 1, "description": "状态(0-已停用,1-生产中,2-维修中)"},
load_default=None,
)