def delete(self, request):

        try:
            user = User.objects.get(username=self.request.user)
            user.delete()
        except Exception as e:
            return failure(403, str(e))
        else:
            return empty_success(200)
    def post(self, request, post_id):
        comment = CommentSerializer(data=request.data)
        try:
            if comment.is_valid(raise_exception=True):
                post = Post.objects.get(pk=post_id)
                comment.save(post=post)

        except Exception as e:
            return failure(403, str(e))
        else:
            return empty_success(200)
 def post(self, request):
     try:
         post = PostSerializer(data=request.data)
         if post.is_valid(raise_exception=True):
             post.save(
                 author=self.request.user,
                 created_at=time.time(),
             )
     except Exception as e:
         return failure(403, str(e))
     else:
         return empty_success(200)
    def post(self, request):

        user = UserRequestSerializer(data=request.data)

        if user.is_valid():
            username = user.data.get('username')
            email = user.data.get('email')
            password = user.data.get('password')
            User.objects.create_user(username, email, password)
            # token, _ = Token.objects.get_or_create(user=user)
            # print(token)
            return empty_success(200)
        else:
            print(user.errors)
            return failure(400, message_from_errors(user.errors))
    def get(self, request):
        user = self.request.user

        post_id = self.request.query_params.get('post_id', None)
        try:
            if post_id:
                post = Post.objects.get(pk=post_id)
                serialized = PostSerializer(post)
                return success(200, serialized.data)
            else:
                post = Post.objects.filter(author=user)
                serialized = PostSerializer(post, many=True)
                return success(200, serialized.data)
        except models.Post.DoesNotExist:
            return failure(403, "No post found ")