Пример #1
0
    def get(self, request):
        flags = VideoFlag.objects.all()

        self.serializer = VideoFlagSerializer(flags, many=True)

        return self.success_response(self.serializer.data)
Пример #2
0
class VideoFlagView(BaseView):
    model = VideoFlag
    serializer_class = VideoFlagSerializer

    """
    Description:
        Get a list of all video flags
        Flag types:
            'Q' - 'Quality'
            'I' - 'Inappropriate'
            'A' - 'Accuracy'

    Request:
        GET /videos/flags/

    Response:
        All of the video flags
    """

    @authenticate
    def get(self, request):
        flags = VideoFlag.objects.all()

        self.serializer = VideoFlagSerializer(flags, many=True)

        return self.success_response(self.serializer.data)

    """
    Description:
        Given a video ID, flag type, and note, submit a flag for a video
        Flag types:
            'Q' - 'Quality'
            'I' - 'Inappropriate'
            'A' - 'Accuracy'
            'U' - 'Report User'

    Request:
        POST /videos/flags/
        {
            "video": 3,
            "flag_type": "I",
            "notes": "There are boobs in this video!!"
        }

    Response:
        The newly created video flag
    """

    @authenticate
    def post(self, request):
        # Attempt to update the video count
        self.serializer = self.get_serializer(data=request.data)

        if not self.serializer.is_valid():
            return self.error_response(self.serializer.errors, 400)

        # Save the flag object
        try:
            flag = self.serializer.save()
        except IntegrityError as e:
            return self.error_response(str(e), 400)

        return self.success_response(self.serializer.data)