# apps/feature/views/deposit.py
from rest_framework import viewsets, status
from rest_framework.response import Response
from .models import PaymentMethod
from .serializers import PaymentMethodSerializer
from  apps.core.views.base import BaseViewSet
from rest_framework.permissions import  IsAuthenticated

class PaymentMethodViewSet(BaseViewSet):
    queryset = PaymentMethod.objects.filter(is_active=True)
    serializer_class = PaymentMethodSerializer
    
    permission_app_name = 'pymentMethod'
    permission_model_name = 'pymentMethod'
    view_permissions = ["list", "create", "update", "toggle_status", "partial_update", "retrieve", "destroy"]  

    def get_permissions(self):
        if self.action == 'list':
            return [IsAuthenticated()]
        return super().get_permissions()
    def list(self, request, *args, **kwargs):
        queryset = self.get_queryset()
        serializer = self.get_serializer(queryset, many=True)
        return Response({
            "success": True,
            "message": "Payment methods retrieved successfully",
            "data": serializer.data
        }, status=status.HTTP_200_OK)