Files
2025-12-16 22:16:45 +03:00

39 lines
1.1 KiB
Python

from rest_framework import serializers
from api.models import Hero, Item
class HeroSerializer(serializers.ModelSerializer):
primary = serializers.SerializerMethodField()
class Meta:
model = Hero
fields = ["id", "name", "primary"]
def get_primary(self, obj):
return obj.primary.lower()
class ItemSerializer(serializers.ModelSerializer):
class Meta:
model = Item
fields = ["id", "name"]
class RandomizeBuildRequestSerializer(serializers.Serializer):
includeSkills = serializers.BooleanField()
includeAspect = serializers.BooleanField()
itemsCount = serializers.IntegerField(min_value=1)
heroId = serializers.IntegerField(required=False, allow_null=True)
class RandomizeBuildResponseSerializer(serializers.Serializer):
hero = HeroSerializer()
items = ItemSerializer(many=True)
skillBuild = serializers.DictField(
child=serializers.CharField(),
required=False,
help_text="Map of level (1-25) to skill (q/w/e/r/left_talent/right_talent)"
)
aspect = serializers.CharField(required=False)