add: BaseApiViewMixin created, TODO: switch external endpoints to GenericAPIView and BaseApiViewMixin

This commit is contained in:
2025-08-06 15:13:30 +05:00
parent 153bbefaab
commit 0935cfcb1f
8 changed files with 237 additions and 134 deletions

View File

@@ -1,7 +1,7 @@
from django_core.mixins import BaseViewSetMixin
from django_core.mixins import BaseViewSetMixin # type: ignore
from drf_spectacular.utils import extend_schema
from rest_framework.permissions import IsAdminUser, AllowAny
from rest_framework.viewsets import ModelViewSet
from rest_framework.permissions import IsAdminUser, AllowAny # type: ignore
from rest_framework.viewsets import ModelViewSet # type: ignore
from core.apps.companies.models import CompanyAccountModel
from core.apps.companies.serializers.accounts import (
@@ -12,9 +12,11 @@ from core.apps.companies.serializers.accounts import (
DestroyCompanyAccountSerializer,
)
######################################################################
# Crud
######################################################################
@extend_schema(tags=["CompanyAccount"])
class CompanyAccountView(BaseViewSetMixin, ModelViewSet):
class CompanyAccountCrudViewSet(BaseViewSetMixin, ModelViewSet):
queryset = CompanyAccountModel.objects.all()
serializer_class = ListCompanyAccountSerializer
permission_classes = [AllowAny]
@@ -26,7 +28,7 @@ class CompanyAccountView(BaseViewSetMixin, ModelViewSet):
"update": [IsAdminUser],
"destroy": [IsAdminUser],
}
action_serializer_class = {
action_serializer_class = { # type: ignore
"list": ListCompanyAccountSerializer,
"retrieve": RetrieveCompanyAccountSerializer,
"create": CreateCompanyAccountSerializer,