from django_core.mixins import BaseViewSetMixin from drf_spectacular.utils import extend_schema from rest_framework.permissions import IsAdminUser from rest_framework.viewsets import ModelViewSet from core.apps.banks.models import BankModel from core.apps.banks.serializers.banks import ( CreateBankSerializer, ListBankSerializer, RetrieveBankSerializer, UpdateBankSerializer, DestroyBankSerializer, ) @extend_schema(tags=["Banks"]) class BankView(BaseViewSetMixin, ModelViewSet): queryset = BankModel.objects.all() serializer_class = ListBankSerializer permission_classes = [IsAdminUser] action_permission_classes = {} action_serializer_class = { "list": ListBankSerializer, "retrieve": RetrieveBankSerializer, "create": CreateBankSerializer, "update": UpdateBankSerializer, "destroy": DestroyBankSerializer, }