feat: tracking works 100%

This commit is contained in:
ziesorx 2025-09-23 23:06:03 +07:00
parent 4002febed2
commit dd401f14d7
6 changed files with 511 additions and 305 deletions

View file

@ -82,7 +82,12 @@ def serialize_outgoing_message(message: OutgoingMessage) -> str:
JSON string representation
"""
try:
return message.model_dump_json(exclude_none=True)
# For ImageDetectionMessage, we need to include None values for abandonment detection
from .models import ImageDetectionMessage
if isinstance(message, ImageDetectionMessage):
return message.model_dump_json(exclude_none=False)
else:
return message.model_dump_json(exclude_none=True)
except Exception as e:
logger.error(f"Failed to serialize outgoing message: {e}")
raise

View file

@ -36,7 +36,9 @@ class CameraConnection(BaseModel):
class DetectionData(BaseModel):
"""Detection result data structure."""
detection: Dict[str, Any] = Field(..., description="Flat key-value detection results")
model_config = {"json_encoders": {type(None): lambda v: None}}
detection: Optional[Dict[str, Any]] = Field(None, description="Flat key-value detection results, null for abandonment")
modelId: int
modelName: str