예제 #1
0
    def generate_post(self, request, *args, **kwargs):
        try:
            start_user_id = 14
            end_user_id = 22
            step = 1
            for i in range(start_user_id, end_user_id, step):
                self.add_post_for_all_user(i)
            return Response(status=status.HTTP_200_OK)

        except Exception as exception:
            raise ServiceException(exception)
예제 #2
0
    def delete(self, request, pk=None, *args, **kwargs):
        try:
            post = self.get_and_check(pk)
            if post.user_id != request.user.id:
                raise exceptions.PermissionDenied()

            PostService.delete_comment(post)
            return Response(status=status.HTTP_204_NO_CONTENT)

        except Exception as exception:
            raise ServiceException(exception)
예제 #3
0
    def create(self, request, *args, **kwargs):
        try:
            serializer = self.serializer_class(data=request.data)
            serializer.is_valid(raise_exception=True)
            user = serializer.save()
            user_data = user.__dict__
            if '_state' in user_data:
                del user_data['_state']

            return Response(serializer.data)
        except Exception as exception:
            raise ServiceException(exception)
예제 #4
0
    def add_friend(self, request, *args, **kwargs):
        try:
            data = {
                'user_id': request.user.id,
                'friend_id': request.data.get('friend_id')
            }
            serializer = FriendSerialiser(data=data)
            serializer.is_valid(raise_exception=True)
            serializer.user_friend(request.user,
                                   serializer.validated_data['friend'])

            return Response(status=status.HTTP_200_OK)
        except Exception as exception:
            raise ServiceException(exception)
예제 #5
0
    def create(self, request, *args, **kwargs):
        try:
            data = self.take_data_from_request(request)
            serializer = self.serializer_class(data=data)
            serializer.is_valid(raise_exception=True)

            # save data
            comment = serializer.save()

            comment_data = comment.__dict__
            if '_state' in comment_data:
                del comment_data['_state']

            return Response(comment_data, status=status.HTTP_200_OK)

        except Exception as exception:
            raise ServiceException(exception)
예제 #6
0
    def generate_friend(self, request, *args, **kwargs):
        try:
            start_user_id = 14
            end_user_id = 22
            step = 1
            numbers_friend = 3
            # start_friend_id = user_id[i] +1
            # end_friend_id = user_id[i] + number_friend
            # friend_step = 1
            for i in range(start_user_id, end_user_id + 1, step):
                for j in range(i + 1, i + numbers_friend + 1, step):
                    if j > end_user_id:
                        break
                    self.ad_add_friend(i, j)
            return Response(status=status.HTTP_200_OK)

        except Exception as exception:
            raise ServiceException(exception)
예제 #7
0
    def change_password(self, request, *args, **kwargs):
        try:
            status_error = 0
            password = request.data.get('password', None)
            confirm_password = request.data.get('confirm_password', None)

            if not password and len(password.strip()) <= 6:
                status_error = 1
                raise exceptions.ValidationError(
                    'password must be at least 6 characters.')

            if password != confirm_password:
                status_error = 1
                raise exceptions.ValidationError(
                    'confirm_password is invalid.')

            UserService.set_new_password(request.user, password)

            return Response(status=status.HTTP_200_OK)
        except Exception as exception:
            if status_error == 1:
                raise exception
            else:
                raise ServiceException(exception)