from django.shortcuts import render
from rest_framework import generics
from .models import *
from .serializers import *
from django_filters.rest_framework import DjangoFilterBackend
from common.views import *
# Create your views here.

# Medical Profile

class MedicalProfileListMobileView(generics.ListCreateAPIView):
    authentication_classes = [APIKeyAuthentication, MobileTokenAuthentication]
    filter_backends = [DjangoFilterBackend]
    filterset_fields = ["childId"]
    queryset = MedicalProfile.objects.all()
    serializer_class = MedicalProfileSerializer


class MedicalProfileDetailMobileView(generics.RetrieveUpdateDestroyAPIView):
    authentication_classes = [APIKeyAuthentication, MobileTokenAuthentication]
    filter_backends = [DjangoFilterBackend]
    filterset_fields = ["childId"]
    lookup_field = "childId"
    queryset = MedicalProfile.objects.all()
    serializer_class = MedicalProfileSerializer

# Financial Profile


class FinancialProfileListMobileView(generics.ListCreateAPIView):
    authentication_classes = [APIKeyAuthentication, MobileTokenAuthentication]
    filter_backends = [DjangoFilterBackend]
    filterset_fields = ["parentId"]
    queryset = FinancialProfile.objects.all()
    serializer_class = FinancialProfileSerializer


class FinancialProfileDetailMobileView(generics.RetrieveUpdateDestroyAPIView):
    authentication_classes = [APIKeyAuthentication, MobileTokenAuthentication]
    filter_backends = [DjangoFilterBackend]
    filterset_fields = ["parentId"]
    lookup_field = "parentId"
    queryset = FinancialProfile.objects.all()
    serializer_class = FinancialProfileSerializer


class FinancialProfileListDashboardView(generics.ListCreateAPIView):
    authentication_classes = [APIKeyAuthentication, DashboardTokenAuthentication]
    filter_backends = [DjangoFilterBackend]
    filterset_fields = ["parentId"]
    queryset = FinancialProfile.objects.all()
    serializer_class = FinancialProfileSerializer


class FinancialProfileDetailDashboardView(generics.RetrieveUpdateDestroyAPIView):
    authentication_classes = [APIKeyAuthentication, DashboardTokenAuthentication]
    filter_backends = [DjangoFilterBackend]
    filterset_fields = ["parentId"]
    lookup_field = "parentId"
    queryset = FinancialProfile.objects.all()
    serializer_class = FinancialProfileSerializer
