Exemple #1
0
 def _filter_request(self, request: request.Request, queryset: QuerySet,
                     team: Team) -> QuerySet:
     for key, value in request.GET.items():
         if key == "event":
             queryset = queryset.filter(event=request.GET["event"])
         elif key == "after":
             queryset = queryset.filter(timestamp__gt=request.GET["after"])
         elif key == "before":
             queryset = queryset.filter(timestamp__lt=request.GET["before"])
         elif key == "person_id":
             person = Person.objects.get(pk=request.GET["person_id"])
             queryset = queryset.filter(
                 distinct_id__in=PersonDistinctId.objects.filter(
                     person_id=request.GET["person_id"]).values(
                         "distinct_id"))
         elif key == "distinct_id":
             queryset = queryset.filter(
                 distinct_id=request.GET["distinct_id"])
         elif key == "action_id":
             queryset = queryset.filter_by_action(
                 Action.objects.get(pk=value))  # type: ignore
         elif key == "properties":
             filter = Filter(data={"properties": json.loads(value)})
             queryset = queryset.filter(
                 filter.properties_to_Q(team_id=team.pk))
     return queryset
Exemple #2
0
 def _filter_request(self, request: request.Request,
                     queryset: QuerySet) -> QuerySet:
     for key, value in request.GET.items():
         if key == 'event':
             queryset = queryset.filter(event=request.GET['event'])
         elif key == 'after':
             queryset = queryset.filter(timestamp__gt=request.GET['after'])
         elif key == 'before':
             queryset = queryset.filter(timestamp__lt=request.GET['before'])
         elif key == 'person_id':
             person = Person.objects.get(pk=request.GET['person_id'])
             queryset = queryset.filter(
                 distinct_id__in=PersonDistinctId.objects.filter(
                     person_id=request.GET['person_id']).values(
                         'distinct_id'))
         elif key == 'distinct_id':
             queryset = queryset.filter(
                 distinct_id=request.GET['distinct_id'])
         elif key == 'action_id':
             queryset = queryset.filter_by_action(
                 Action.objects.get(pk=value))  # type: ignore
         elif key == 'properties':
             filter = Filter(data={'properties': json.loads(value)})
             queryset = queryset.filter(filter.properties_to_Q())
     return queryset
Exemple #3
0
 def _filter_request(self, request: request.Request, queryset: QuerySet) -> QuerySet:
     for key, value in request.GET.items():
         if key in ('event', 'ip'):
             pass
         elif key == 'after':
             queryset = queryset.filter(timestamp__gt=request.GET['after'])
         elif key == 'before':
             queryset = queryset.filter(timestamp__lt=request.GET['before'])
         elif key == 'person_id':
             person = Person.objects.get(pk=request.GET['person_id'])
             queryset = queryset.filter(distinct_id__in=person.distinct_ids)
         elif key == 'distinct_id':
             queryset = queryset.filter(distinct_id=request.GET['distinct_id'])
         elif key == 'action_id':
             queryset = queryset.filter_by_action(Action.objects.get(pk=value)) # type: ignore
         elif key == 'properties':
             queryset = queryset.filter(properties_to_Q(json.loads(value)))
     return queryset
Exemple #4
0
 def _filter_request(self, request: request.Request,
                     queryset: QuerySet) -> QuerySet:
     for key, value in request.GET.items():
         if key in ('event', 'ip'):
             pass
         elif key == 'after':
             queryset = queryset.filter(timestamp__gt=request.GET['after'])
         elif key == 'before':
             queryset = queryset.filter(timestamp__lt=request.GET['before'])
         elif key == 'person_id':
             person = Person.objects.get(pk=request.GET['person_id'])
             queryset = queryset.filter(distinct_id__in=person.distinct_ids)
         elif key == 'distinct_id':
             queryset = queryset.filter(
                 distinct_id=request.GET['distinct_id'])
         elif key == 'action_id':
             queryset = queryset.filter_by_action(
                 Action.objects.get(pk=value))
         else:
             key = 'properties__%s' % key
             params = {}
             params[key] = value
             queryset = queryset.filter(**params)
     return queryset