from rest_framework.permissions import IsAuthenticated, AllowAny from rest_framework.viewsets import ReadOnlyModelViewSet from drf_spectacular.utils import extend_schema from django_core.mixins import BaseViewSetMixin from core.apps.api.models import Banner from core.apps.api.serializers.banner import ( ListBannerSerializer, RetrieveBannerSerializer, CreateBannerSerializer, ) @extend_schema(tags=['Banner']) class BannerViewSet(BaseViewSetMixin, ReadOnlyModelViewSet): queryset = Banner.objects.all() serializer_class = ListBannerSerializer permission_classes = [AllowAny] action_permission_classes = {} action_serializers = { 'list': ListBannerSerializer, 'retrieve': RetrieveBannerSerializer, 'create': CreateBannerSerializer, }