Files
trustme/core/apps/banks/views/banks.py

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,
}