from django_core.mixins import BaseViewSetMixin # type: ignore from drf_spectacular.utils import extend_schema from rest_framework.permissions import AllowAny, IsAdminUser # type: ignore from rest_framework.viewsets import ModelViewSet # type: ignore from core.apps.banks.models import BankModel from core.apps.banks.serializers.banks import ( CreateBankSerializer, ListBankSerializer, RetrieveBankSerializer, UpdateBankSerializer, DestroyBankSerializer, ) ################################################################################### # @view-set | POST, GET - /banks ################################################################################### @extend_schema(tags=["Banks"]) class BankViewSet(BaseViewSetMixin, ModelViewSet): queryset = BankModel.objects.all() serializer_class = ListBankSerializer permission_classes = [IsAdminUser] action_permission_classes = { "list": [AllowAny], "retrieve": [AllowAny], } action_serializer_class = { # type: ignore "list": ListBankSerializer, "retrieve": RetrieveBankSerializer, "create": CreateBankSerializer, "update": UpdateBankSerializer, "destroy": DestroyBankSerializer, }