
from django.contrib.auth import authenticate, login, logout
from rest_framework.response import Response
from rest_framework.views import APIView 
from rest_framework import status
from app_venin_web_new1.serializers import UserSerializer

class LoginView(APIView):
    def post(self, request):
        # Recuperamos las credenciales y autenticamos al usuario
        print(request)
        username = request.data.get('username', None)
        password = request.data.get('password', None)
        user = authenticate(username=username, password=password)

        # Si es correcto añadimos a la request la información de sesión
        if user:
            login(request, user)
            return Response({"message":"Inicio de sesion exitoso.",
                             "data":UserSerializer(user).data,
                             "status":"success"},status=status.HTTP_200_OK)
        # Si no es correcto devolvemos un error en la petición
        return Response({"message":"usuario no encontrado.",
                         "status":"fail"},
                        status=status.HTTP_404_NOT_FOUND)


class LogoutView(APIView):
    def post(self, request):
        # Borramos de la request la información de sesión
        logout(request)

        # Devolvemos la respuesta al cliente
        return Response(status=status.HTTP_200_OK)