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.

92 lines
2.4 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 AlertPushQuery(Pagination):
"""
告警推送信息查询请求
"""
keyword: Optional[str] = field(
default=None,
metadata={
"required": False,
"metadata": {
"description": "关键字 [消息对象名称] 模糊查询"
},
},
)
status: int = field(
default=None,
metadata={
"required": False,
"metadata": {"example": 0, "description": "状态"},
},
)
Schema: ClassVar[BaseSchema] = BaseSchema
class AlertPushAddRequest(BaseSchema):
"""
告警推送信息添加请求
"""
target_name = fields.String(
required=True,
metadata={
"example": "ERP",
"description": "告警对象名称",
},
)
push_url = fields.String(
required=True,
metadata={
"example": "https://www.baidu.com",
"description": "告警推送URL",
},
)
alert_level = fields.List(
fields.Integer(),
required=False,
metadata={"example": 1, "description": "告警级别"},
load_default=1,
)
status = fields.Integer(
required=False,
metadata={
"example": 1,
"description": "状态 0-禁用,1-启用",
},
load_default=1,
)
class AlertPushUpdateRequest(BaseSchema):
"""
告警推送信息更新请求
"""
target_name = fields.String(
required=True,
metadata={
"example": "ERP",
"description": "告警对象名称",
},
)
push_url = fields.String(
required=True,
metadata={
"example": "https://www.baidu.com",
"description": "告警推送URL",
},
)
alert_level = fields.List(
fields.Integer(),
required=False,
metadata={"example": 1, "description": "告警级别"},
load_default=1,
)
status = fields.Integer(
required=False,
metadata={"example": 1, "description": "状态 0-禁用,1-启用"},
load_default=1,
)