update
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
from rest_framework.permissions import IsAuthenticated, AllowAny
|
||||
from rest_framework.viewsets import ReadOnlyModelViewSet
|
||||
from drf_spectacular.utils import extend_schema
|
||||
from drf_spectacular.utils import extend_schema, extend_schema_view
|
||||
from django_core.mixins import BaseViewSetMixin
|
||||
|
||||
from core.apps.api.models import Banner
|
||||
from core.apps.api.models import BannerModel
|
||||
from core.apps.api.serializers.banner import (
|
||||
ListBannerSerializer,
|
||||
RetrieveBannerSerializer,
|
||||
@@ -11,15 +11,30 @@ from core.apps.api.serializers.banner import (
|
||||
)
|
||||
|
||||
|
||||
@extend_schema(tags=['Banner'])
|
||||
@extend_schema_view(
|
||||
list=extend_schema(
|
||||
summary="List all active banners",
|
||||
description="Get list of all active banners ordered by display order",
|
||||
tags=["Banners"]
|
||||
),
|
||||
retrieve=extend_schema(
|
||||
summary="Get banner details",
|
||||
description="Get detailed information about a specific banner",
|
||||
tags=["Banners"]
|
||||
),
|
||||
)
|
||||
class BannerViewSet(BaseViewSetMixin, ReadOnlyModelViewSet):
|
||||
queryset = Banner.objects.all()
|
||||
"""
|
||||
ViewSet for managing banners.
|
||||
|
||||
Returns active banners for display on website.
|
||||
"""
|
||||
queryset = BannerModel.objects.filter(is_active=True).order_by("order", "-created_at")
|
||||
serializer_class = ListBannerSerializer
|
||||
permission_classes = [AllowAny]
|
||||
|
||||
action_permission_classes = {}
|
||||
action_serializers = {
|
||||
'list': ListBannerSerializer,
|
||||
'retrieve': RetrieveBannerSerializer,
|
||||
'create': CreateBannerSerializer,
|
||||
action_serializer_class = {
|
||||
"list": ListBannerSerializer,
|
||||
"retrieve": RetrieveBannerSerializer,
|
||||
"create": CreateBannerSerializer,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user