from django.shortcuts import render, redirect
from django.contrib.auth.models import User
from django.http import JsonResponse, HttpResponse
from django.contrib import messages
from django.utils.translation import gettext_lazy as _
from django.contrib.auth import login
from django.db import IntegrityError
from django.core.cache import cache

from rest_framework import viewsets, serializers
from rest_framework.permissions import AllowAny
from rest_framework.decorators import action

from ..forms import SignupForm
from ..models import Profile

import logging

from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from googleapiclient.errors import HttpError


#Importation of the SignupForm
class DummySerializer(serializers.Serializer):
    #I will add some data later on...
    #Simply used to derialize the information stored in the datatabse.
    pass


class NotCloudStorageViewSet(viewsets.ViewSet):
    permission_classes = (AllowAny,)
    serializer_class = DummySerializer
    
    @action(detail=False, methods=['get'], url_path='')
    def default_page(self, request):
        base_domain = request.build_absolute_uri('/')
        if request.user.is_authenticated:
            print("USER IS AUTHENTICATED")
        return render(request, 'index.html', {'base_domain': base_domain})
    
    @action(detail=False, methods=['get'], url_path='home')
    def home(self, request):
        base_domain = request.build_absolute_uri('/')
        user = request.user
        
        context = {
            'base_domain': base_domain,
            'user': user,
        }
        
        if user.is_authenticated:
            context.update({
                'user_orders': [],
                'user_stats': {},
            })
        
        return render(request, 'index.html', context)