Ejemplo n.º 1
0
    def popular_posts(self, request):
        try:
            posts = Post.objects.all().filter(
                isMatch=True).order_by('hearts').distinct()

            serializer = PostSendSerializer(posts, many=True)

            return Response(serializer.data, status=status.HTTP_200_OK)

        except Exception as e:
            print(e)
            return Response({}, status=status.HTTP_400_BAD_REQUEST)
Ejemplo n.º 2
0
    def get_post_preferences(self,
                             request,
                             pk=None,
                             limit=None):  # post by user preferences
        preferences = self.helper_profile_preferences(pk)

        posts = self.queryset.filter(
            group__theme__in=preferences).order_by('hearts').distinct()

        serializer = PostSendSerializer(posts, many=True)

        return Response(serializer.data, status=status.HTTP_200_OK)
Ejemplo n.º 3
0
    def get_specific_posts(self,
                           request,
                           pk=None,
                           limit=None):  # posts in user's groups
        groups = Groups.views.GroupViewSet.helper_user_groups(pk)

        posts = self.queryset.filter(
            group__in=groups).order_by('hearts').distinct()

        serializer = PostSendSerializer(posts, many=True)

        return Response(serializer.data, status=status.HTTP_200_OK)
Ejemplo n.º 4
0
    def get_posts(self, request, pk=None):
        try: 

            posts = Post.objects.all().filter(group=pk)

            serializer = PostSendSerializer(posts, many=True, context={"request": request})

            return Response(serializer.data, status=status.HTTP_200_OK)

        except Exception as e: 
            print(e) 
            return Response({}, status=status.HTTP_400_BAD_REQUEST)
Ejemplo n.º 5
0
    def theme_posts(self, request, theme=None):
        try:
            print(theme)

            posts = Post.objects.all().filter(group__theme=theme).distinct()

            serializer = PostSendSerializer(posts, many=True)

            return Response(serializer.data, status=status.HTTP_200_OK)

        except Exception as e:

            print(e)

            return Response({}, status=status.HTTP_400_BAD_REQUEST)
Ejemplo n.º 6
0
    def similar_posts(self, request, pk=None, post_id=None):
        try:

            theme = ActionGroup.objects.all().filter(pk=pk).first().theme
            posts = Post.objects.all().filter(group__theme=theme).filter(
                isMatch=True).distinct().exclude(id=post_id).exclude(
                    author=request.user.id)

            serializer = PostSendSerializer(posts, many=True)

            return Response(serializer.data, status=status.HTTP_200_OK)

        except Exception as e:
            print(e)
            return Response({}, status=status.HTTP_400_BAD_REQUEST)