25 lines
631 B
Python
25 lines
631 B
Python
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)],
|
|
]
|