diff --git a/backend/secfit/workouts/urls.py b/backend/secfit/workouts/urls.py index 7c46a3f1ff311edc25dd455bb85780c1a1644738..82e8f36d2ff5df01b542e743135da14e09df020f 100644 --- a/backend/secfit/workouts/urls.py +++ b/backend/secfit/workouts/urls.py @@ -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(), diff --git a/backend/secfit/workouts/views.py b/backend/secfit/workouts/views.py index efddf40454376b23d233f9fe2cecaf9da43fddb8..50df26d77e1e65b2bbdc609c05628eebf4b1bd98 100644 --- a/backend/secfit/workouts/views.py +++ b/backend/secfit/workouts/views.py @@ -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,