From f1c1adb638ce02c236b1c3d5c884bd8022ef2ff1 Mon Sep 17 00:00:00 2001 From: Jeremiah Boby Date: Mon, 9 Aug 2021 18:54:30 +0100 Subject: [PATCH] Add incrementing position field for CTFtime view --- src/leaderboard/serializers.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/leaderboard/serializers.py b/src/leaderboard/serializers.py index 49579b8c..d4cf06c0 100644 --- a/src/leaderboard/serializers.py +++ b/src/leaderboard/serializers.py @@ -6,8 +6,16 @@ class CTFTimeSerializer(serializers.BaseSerializer): + position: int = 0 + def to_representation(self, instance): - return {"team": instance.name, "score": instance.leaderboard_points} + # TODO: Use SerializerFields for team, score and position. + return {"team": instance.name, "score": instance.leaderboard_points, "pos": self.get_position(instance)} + + def get_position(self, _) -> int: + """Return an incrementing field representing leaderboard positions.""" + self.position += 1 + return self.position class LeaderboardTeamScoreSerializer(serializers.ModelSerializer):