feat: implement mqtt ingestion, parsing, and archive pipeline
This commit is contained in:
@@ -121,7 +121,7 @@ class TerminalMessageRaw(SQLModel, table=True):
|
||||
default_factory=get_datetime_utc,
|
||||
sa_type=DateTime(timezone=True), # type: ignore
|
||||
)
|
||||
payload_bytes: bytes = Field(sa_type=LargeBinary) # type: ignore
|
||||
payload_bytes: bytes = Field(sa_type=LargeBinary)
|
||||
payload_size: int = 0
|
||||
payload_sha256: str = Field(default="", max_length=64, index=True)
|
||||
qos: int = 0
|
||||
@@ -154,7 +154,7 @@ class TerminalObservationEvent(SQLModel, table=True):
|
||||
index=True,
|
||||
)
|
||||
event_type: str = Field(max_length=64, index=True)
|
||||
payload_json: dict[str, Any] = Field(default_factory=dict, sa_type=JSON) # type: ignore
|
||||
payload_json: dict[str, Any] = Field(default_factory=dict, sa_type=JSON)
|
||||
created_at: datetime = Field(
|
||||
default_factory=get_datetime_utc,
|
||||
sa_type=DateTime(timezone=True), # type: ignore
|
||||
@@ -167,14 +167,14 @@ class TerminalDeviceState(SQLModel, table=True):
|
||||
device_id: str = Field(max_length=255, primary_key=True)
|
||||
last_event_time: datetime | None = Field(
|
||||
default=None, sa_type=DateTime(timezone=True)
|
||||
) # type: ignore
|
||||
) # type: ignore[call-overload]
|
||||
fix_status: str | None = Field(default=None, max_length=64)
|
||||
lat: float | None = None
|
||||
lon: float | None = None
|
||||
alt_m: float | None = None
|
||||
satellites_used: int | None = None
|
||||
satellite_signal_summary: dict[str, Any] | None = Field(default=None, sa_type=JSON) # type: ignore
|
||||
rtcm_type_summary: dict[str, Any] | None = Field(default=None, sa_type=JSON) # type: ignore
|
||||
satellite_signal_summary: dict[str, Any] | None = Field(default=None, sa_type=JSON)
|
||||
rtcm_type_summary: dict[str, Any] | None = Field(default=None, sa_type=JSON)
|
||||
updated_at: datetime = Field(
|
||||
default_factory=get_datetime_utc,
|
||||
sa_type=DateTime(timezone=True), # type: ignore
|
||||
|
||||
Reference in New Issue
Block a user