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.
# Mood Tracker


class MoodTrackerListMobileView(SubscriptionPlanMixin, generics.ListCreateAPIView):
    authentication_classes = [
        APIKeyAuthentication,
        MobileTokenAuthentication,
    ]
    filter_backends = [DjangoFilterBackend]
    filterset_fields = ["medicalProfileId"]
    pagination_class = StandardSetPagination
    queryset = MoodTracker.objects.order_by("-id")
    serializer_class = MoodTrackerSerializer


class MoodTrackerDetailMobileView(SubscriptionPlanMixin, generics.RetrieveUpdateDestroyAPIView):
    authentication_classes = [
        APIKeyAuthentication,
        MobileTokenAuthentication,
    ]
    filter_backends = [DjangoFilterBackend]
    filterset_fields = ["medicalProfileId"]
    lookup_field = "id"
    queryset = MoodTracker.objects.order_by("-id")
    serializer_class = MoodTrackerSerializer


class MoodTrackerListDashboardView(generics.ListCreateAPIView):
    authentication_classes = [APIKeyAuthentication, DashboardTokenAuthentication]
    filter_backends = [DjangoFilterBackend]
    filterset_fields = ["medicalProfileId"]
    pagination_class = StandardSetPagination
    queryset = MoodTracker.objects.order_by("-id")
    serializer_class = MoodTrackerSerializer


class MoodTrackerDetailDashboardView(generics.RetrieveUpdateDestroyAPIView):
    authentication_classes = [APIKeyAuthentication, DashboardTokenAuthentication]
    filter_backends = [DjangoFilterBackend]
    filterset_fields = ["medicalProfileId"]
    lookup_field = "id"
    queryset = MoodTracker.objects.order_by("-id")
    serializer_class = MoodTrackerSerializer

