from rest_framework import viewsets
from rest_framework.permissions import IsAdminUser
from .models import PowerStreamConfig
from .serializers import PowerStreamConfigSerializer

class PowerStreamConfigAdminViewSet(viewsets.ModelViewSet):
    queryset = PowerStreamConfig.objects.all()
    serializer_class = PowerStreamConfigSerializer
    permission_classes = [IsAdminUser]

    def get_queryset(self):
        qs = PowerStreamConfig.objects.select_related('opportunity_bundle').all().order_by('opportunity_bundle_id', 'level')
        opportunity_bundle = self.request.query_params.get('opportunity_bundle') or self.request.query_params.get('opportunity_bundle_id')
        if opportunity_bundle:
            qs = qs.filter(opportunity_bundle_id=opportunity_bundle)
        return qs
