Skip to content
Snippets Groups Projects
Commit 82799d6e authored by Tobias Ørstad's avatar Tobias Ørstad
Browse files

Add an API endpoint for leaderboards

parent d9704ef3
No related branches found
No related tags found
3 merge requests!5Ad ci/cs setup,!4Dev,!1Leaderboards
......@@ -27,6 +27,11 @@ urlpatterns = format_suffix_patterns(
views.ExerciseInstanceList.as_view(),
name="exercise-instance-list",
),
path(
"api/leaderboards/",
views.Leaderboards.as_view(),
name="leaderboards",
)
path(
"api/exercise-instances/<int:pk>/",
views.ExerciseInstanceDetail.as_view(),
......
......@@ -204,12 +204,16 @@ class ExerciseDetail(
HTTP methods: GET, PUT, PATCH, DELETE
"""
queryset = Exercise.objects.all()
serializer_class = ExerciseSerializer
permission_classes = [permissions.IsAuthenticated]
def get(self, request, *args, **kwargs):
print("heiheihei")
print(request.data)
print(request.query_params)
print(request.GET)
print(request.path)
return self.retrieve(request, *args, **kwargs)
def put(self, request, *args, **kwargs):
......@@ -221,6 +225,21 @@ class ExerciseDetail(
def delete(self, request, *args, **kwargs):
return self.destroy(request, *args, **kwargs)
class Leaderboards(
mixins.RetrieveModelMixin,
mixins.UpdateModelMixin,
mixins.DestroyModelMixin,
generics.GenericAPIView,
):
def get(self, request, *args, **kwargs):
path = request.path
exercise_id = path.split("/")[-1]
print(exercise_id)
#ExerciseInstance.objects.filter(Q(exercise__pk=1) & Q(workout__visibility='PU')).values('workout__owner__pk').annotate(amount=Sum(F("sets") * F("number"), output_field=IntegerField()))
return {"hei":"Haakon"}
class ExerciseInstanceList(
mixins.ListModelMixin,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment