Initial commit
This commit is contained in:
38
dota-random-builds-back/api/serializers.py
Normal file
38
dota-random-builds-back/api/serializers.py
Normal file
@@ -0,0 +1,38 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user