36 lines
1.2 KiB
Python
36 lines
1.2 KiB
Python
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,
|
|
}
|