39 lines
744 B
Python
39 lines
744 B
Python
from __future__ import annotations
|
|
|
|
from datetime import datetime
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class AnalyticsRequest(BaseModel):
|
|
device_id: str | None = None
|
|
analysis_type: str = "telemetry_summary"
|
|
start: datetime
|
|
end: datetime
|
|
parameters: dict = {}
|
|
|
|
|
|
class AnalyticsResultRead(BaseModel):
|
|
id: str
|
|
analysis_type: str
|
|
device_id: str | None
|
|
result: dict
|
|
parameters: dict
|
|
period_start: datetime | None
|
|
period_end: datetime | None
|
|
created_at: datetime
|
|
|
|
|
|
class ReportResponse(BaseModel):
|
|
report_id: str
|
|
device_id: str
|
|
status: dict
|
|
trends: dict
|
|
created_at: datetime
|
|
|
|
|
|
class TelemetryAggregateResponse(BaseModel):
|
|
device_id: str
|
|
records: list[dict]
|
|
count: int
|