game serializer: fix: winner call profileserializer

This commit is contained in:
starnakin 2024-05-13 16:53:06 +02:00
parent bb6353f578
commit 4eaca83821

View File

@ -9,7 +9,7 @@ from profiles.serializers import ProfileSerializer
class GameSerializer(serializers.ModelSerializer):
players = serializers.SerializerMethodField()
winner = serializers.ReadOnlyField()
winner = serializers.SerializerMethodField()
state = serializers.SerializerMethodField()
started = serializers.ReadOnlyField()
finished = serializers.ReadOnlyField()
@ -28,5 +28,10 @@ class GameSerializer(serializers.ModelSerializer):
return "started"
return "waiting"
def get_winner(self, instance: GameModel):
if (instance.winner is None):
return None
return ProfileSerializer(instance.winner.profilemodel).data
def get_players(self, instance: GameModel):
return ProfileSerializer(instance.get_players_profiles(), many=True).data