from rest_framework import viewsets
from rest_framework.permissions import AllowAny
from rest_framework.response import Response

from apps.content.models import Banner
from apps.content.serializers import BannerSerializer


class BannerViewSet(viewsets.ViewSet):
    """ViewSet for banners/promotions."""

    permission_classes = [AllowAny]

    def list(self, request):
        """GET /banners/?placement=... — list active banners."""
        qs = Banner.objects.filter(is_active=True)
        placement = request.query_params.get("placement")
        if placement:
            qs = qs.filter(placement=placement)
        serializer = BannerSerializer(qs, many=True)
        return Response(serializer.data)
