from rest_framework.views import APIView
from rest_framework import permissions, status
from rest_framework.response import Response
from django.contrib.auth import logout
from django.http import HttpRequest
from rest_framework.authentication import SessionAuthentication

class DeleteView(APIView):
	permission_classes = (permissions.IsAuthenticated,)
	authentication_classes = (SessionAuthentication,)
	def delete(self, request: HttpRequest):
		data: dict = request.data

		password: str = data["password"]
		if (password is None):
			return Response({"password": ["This field may not be blank."]})
		if (request.user.check_password(password) == False):
			return Response({"password": ["Password wrong."]})
		request.user.delete()
		logout(request)
		return Response("user deleted", status=status.HTTP_200_OK)