Esempio n. 1
0
    def cohorts(self, request: request.Request) -> response.Response:
        from posthog.api.cohort import CohortSerializer

        person = self.get_queryset().get(id=str(request.GET["person_id"]))
        cohorts = Cohort.objects.annotate(count=Count("people")).filter(people__id=person.id)

        return response.Response({"results": CohortSerializer(cohorts, many=True).data})
Esempio n. 2
0
    def cohorts(self, request: request.Request) -> response.Response:
        from posthog.api.cohort import CohortSerializer

        team = cast(User, request.user).team
        if not team:
            return response.Response(
                {"message": "Could not retrieve team", "detail": "Could not validate team associated with user"},
                status=400,
            )

        person = self.get_queryset().get(id=str(request.GET["person_id"]))
        cohort_ids = get_cohort_ids_by_person_uuid(person.uuid, team.pk)

        cohorts = Cohort.objects.filter(pk__in=cohort_ids, deleted=False)
        return response.Response({"results": CohortSerializer(cohorts, many=True).data})