From 3eafe793413c64d7d0a738dc375498a5eae86bea Mon Sep 17 00:00:00 2001 From: Laurent Date: Thu, 23 May 2024 16:12:30 +0200 Subject: [PATCH] filter api queries by user --- tournaments/views.py | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/tournaments/views.py b/tournaments/views.py index ac67c7c..c627510 100644 --- a/tournaments/views.py +++ b/tournaments/views.py @@ -311,26 +311,56 @@ class RoundViewSet(viewsets.ModelViewSet): queryset = Round.objects.all() serializer_class = RoundSerializer + def get_queryset(self): + if self.request.user: + return self.queryset.filter(tournament__event__creator=self.request.user) + return [] + class GroupStageViewSet(viewsets.ModelViewSet): queryset = GroupStage.objects.all() serializer_class = GroupStageSerializer + def get_queryset(self): + if self.request.user: + return self.queryset.filter(tournament__event__creator=self.request.user) + return [] + class MatchViewSet(viewsets.ModelViewSet): queryset = Match.objects.all() serializer_class = MatchSerializer + def get_queryset(self): + if self.request.user: + return self.queryset.filter(Q(group_stage__tournament__event__creator=self.request.user) | Q(round__tournament__event__creator=self.request.user)) + return [] + class TeamScoreViewSet(viewsets.ModelViewSet): queryset = TeamScore.objects.all() serializer_class = TeamScoreSerializer + def get_queryset(self): + if self.request.user: + return self.queryset.filter(team_registration__tournament__event__creator=self.request.user) + return [] + class TeamRegistrationViewSet(viewsets.ModelViewSet): queryset = TeamRegistration.objects.all() serializer_class = TeamRegistrationSerializer + def get_queryset(self): + if self.request.user: + return self.queryset.filter(tournament__event__creator=self.request.user) + return [] + class PlayerRegistrationViewSet(viewsets.ModelViewSet): queryset = PlayerRegistration.objects.all() serializer_class = PlayerRegistrationSerializer + def get_queryset(self): + if self.request.user: + return self.queryset.filter(team_registration__tournament__event__creator=self.request.user) + return [] + class CourtViewSet(viewsets.ModelViewSet): queryset = Court.objects.all() serializer_class = CourtSerializer @@ -338,3 +368,8 @@ class CourtViewSet(viewsets.ModelViewSet): class DateIntervalViewSet(viewsets.ModelViewSet): queryset = DateInterval.objects.all() serializer_class = DateIntervalSerializer + + def get_queryset(self): + if self.request.user: + return self.queryset.filter(event__creator=self.request.user) + return []