from __future__ import annotations from datetime import datetime from beanie import Document from pydantic import Field class AnalyticsResult(Document): analysis_type: str parameters: dict = Field(default_factory=dict) result: dict = Field(default_factory=dict) device_id: str | None = None period_start: datetime | None = None period_end: datetime | None = None created_at: datetime = Field(default_factory=datetime.utcnow) class Settings: name = "analytics_results" indexes = [ "analysis_type", "device_id", [("created_at", -1)], ]