Files
2026-03-05 06:55:42 +03:00

64 lines
2.0 KiB
Python

from rest_framework import serializers
from django.contrib.auth.models import User
from .models import Brief, TextVariant, Test, Segment, Assignment, ResultEntry, MetricsSnapshot, OptimizationPolicy
class RegisterSerializer(serializers.ModelSerializer):
password = serializers.CharField(write_only=True, min_length=6)
class Meta:
model = User
fields = ("username","password","email")
def create(self, validated):
user = User(username=validated["username"], email=validated.get("email",""))
user.set_password(validated["password"])
user.save()
return user
class BriefSerializer(serializers.ModelSerializer):
class Meta:
model = Brief
fields = "__all__"
read_only_fields = ("id","owner","created_at")
class TextVariantSerializer(serializers.ModelSerializer):
class Meta:
model = TextVariant
fields = "__all__"
read_only_fields = ("id","created_at")
class TestSerializer(serializers.ModelSerializer):
class Meta:
model = Test
fields = "__all__"
read_only_fields = ("id","owner","created_at")
class SegmentSerializer(serializers.ModelSerializer):
class Meta:
model = Segment
fields = "__all__"
read_only_fields = ("id",)
class AssignmentSerializer(serializers.ModelSerializer):
class Meta:
model = Assignment
fields = "__all__"
read_only_fields = ("id",)
class ResultEntrySerializer(serializers.ModelSerializer):
class Meta:
model = ResultEntry
fields = "__all__"
read_only_fields = ("id","created_at")
class MetricsSnapshotSerializer(serializers.ModelSerializer):
class Meta:
model = MetricsSnapshot
fields = "__all__"
read_only_fields = ("id","created_at")
class OptimizationPolicySerializer(serializers.ModelSerializer):
class Meta:
model = OptimizationPolicy
fields = "__all__"
read_only_fields = ("id","test","updated_at")