add savedpoint views

This commit is contained in:
ThePetrovich 2025-07-01 22:07:12 +08:00
parent 741aefca31
commit c446ac5a1b
4 changed files with 59 additions and 5 deletions

View file

@ -1,5 +1,5 @@
from rest_framework import serializers
from .models import Prediction
from .models import Prediction, SavedPoint, SavedRateProfile, PreditctionTemplate
from datetime import datetime
from .validators import (
validate_custom_curve, rate_clip,
@ -12,7 +12,6 @@ class PredictionSerializer(serializers.ModelSerializer):
fields = ['id', 'created_at', 'updated_at', 'result']
PROFILE_STANDARD = "standard_profile"
PROFILE_FLOAT = "float"
PROFILE_REVERSE = "reverse"
@ -93,4 +92,37 @@ class TelemetryPacketSerializer(serializers.ModelSerializer):
class Meta:
model = TelemetryPacket
fields = ['id', 'timestamp', 'lat', 'lon', 'alt', 'payload']
read_only_fields = ['id']
class SavedPointSerializer(serializers.ModelSerializer):
user = serializers.HiddenField(
default=serializers.CurrentUserDefault()
)
class Meta:
model = SavedPoint
fields = ['user', 'id', 'name', 'lat', 'lon', 'alt']
read_only_fields = ['id']
validators = [
serializers.UniqueTogetherValidator(
queryset=SavedPoint.objects.all(),
fields=['user', 'name'],
message="A saved point with this name already exists for the user."
)
]
class SavedRateProfileSerializer(serializers.ModelSerializer):
class Meta:
model = SavedRateProfile
fields = ['id', 'name', 'rate_profile_data']
read_only_fields = ['id']
class PreditctionTemplateSerializer(serializers.ModelSerializer):
class Meta:
model = PreditctionTemplate
fields = ['id', 'name', 'template_data', 'is_default']
read_only_fields = ['id']