Files
SensorHub/ingest/serializers.py
T
2026-03-25 01:54:43 +03:30

39 lines
1.3 KiB
Python

from rest_framework import serializers
from .models import SensorDevice
class HandshakeSerializer(serializers.Serializer):
device_identifier = serializers.CharField(max_length=255)
device_name = serializers.CharField(max_length=255, required=False, allow_blank=True)
handshake_token = serializers.CharField(max_length=255, required=False, allow_blank=True)
metadata = serializers.JSONField(required=False)
translation_config = serializers.JSONField(required=False)
class SensorIngestSerializer(serializers.Serializer):
sensor_uuid = serializers.UUIDField()
reading_at = serializers.DateTimeField(required=False)
payload = serializers.JSONField()
class SensorPayloadQuerySerializer(serializers.Serializer):
limit = serializers.IntegerField(required=False, min_value=1, max_value=500, default=50)
class SensorDeviceSerializer(serializers.ModelSerializer):
class Meta:
model = SensorDevice
fields = (
"sensor_uuid",
"device_identifier",
"device_name",
"handshake_token",
"metadata",
"translation_config",
"is_active",
"created_at",
"updated_at",
)
read_only_fields = ("sensor_uuid", "created_at", "updated_at")