"""超期预警 —— Pydantic 校验/序列化模型。""" from datetime import datetime from pydantic import BaseModel, ConfigDict, Field from app.core.base_schema import CommonSchema class AlertOutSchema(BaseModel): model_config = ConfigDict(from_attributes=True) id: int uuid: str alert_type: str | None = None entity_type: str | None = None entity_id: int | None = None message: str | None = None status: str | None = None created_time: datetime | None = None updated_time: datetime | None = None created_by: CommonSchema | None = None updated_by: CommonSchema | None = None class AlertQueryParam(BaseModel): alert_type: str | None = Field(default=None, description="预警类型", json_schema_extra={"q": "eq"}) entity_type: str | None = Field(default=None, description="实体类型(业务表名)", json_schema_extra={"q": "like"}) entity_id: int | None = Field(default=None, description="实体ID", json_schema_extra={"q": "eq"}) status: str | None = Field(default=None, description="状态(open/resolved)", json_schema_extra={"q": "eq"}) created_time: list[datetime] | None = Field(default=None, description="创建时间范围(_time 后缀由 search_to_dict 合并为 between)")