Files
python-api/app/schemas/monitoring.py
2026-03-01 07:44:19 +09:00

55 lines
1.0 KiB
Python

from __future__ import annotations
from datetime import datetime
from pydantic import BaseModel
class AlertRuleRead(BaseModel):
id: int
name: str
description: str
metric: str
condition: str
threshold: float
severity: str
is_enabled: bool
device_group_id: int | None
created_at: datetime
model_config = {"from_attributes": True}
class AlertRuleCreate(BaseModel):
name: str
description: str = ""
metric: str
condition: str
threshold: float
severity: str = "warning"
device_group_id: int | None = None
class AlertRead(BaseModel):
id: int
rule_id: int | None
device_id: int | None
severity: str
message: str
is_acknowledged: bool
acknowledged_by: int | None
acknowledged_at: datetime | None
created_at: datetime
model_config = {"from_attributes": True}
class SystemHealthResponse(BaseModel):
status: str
mariadb: str
mongodb: str
redis: str
mqtt: str
active_devices: int
active_alerts: int