"""Establishment app views.""" from rest_framework import generics, permissions from establishment import models, serializers from utils.views import JWTGenericViewMixin from establishment import filters class EstablishmentMixin: """Establishment mixin.""" permission_classes = (permissions.AllowAny,) serializer_class = serializers.EstablishmentSerializer def get_queryset(self): """Overrided method 'get_queryset'.""" return models.Establishment.objects.all().prefetch_actual_employees() class EstablishmentListView(EstablishmentMixin, JWTGenericViewMixin, generics.ListAPIView): """Resource for getting a list of establishments.""" filter_class = filters.EstablishmentFilter class EstablishmentRetrieveView(EstablishmentMixin, JWTGenericViewMixin, generics.RetrieveAPIView): """Resource for getting a establishment.""" class EstablishmentTypeListView(JWTGenericViewMixin, generics.ListAPIView): """Resource for getting a list of establishment types.""" permission_classes = (permissions.AllowAny,) serializer_class = serializers.EstablishmentTypeSerializer queryset = models.EstablishmentType.objects.all()