app permission api 20 (api)

This commit is contained in:
Shaxobff
2026-04-25 12:32:56 +05:00
parent 4e242a4358
commit e1b771e166
3 changed files with 63 additions and 18 deletions

View File

@@ -1,18 +1,42 @@
from django_core.mixins import BaseViewSetMixin
from rest_framework.permissions import AllowAny
from drf_spectacular.utils import extend_schema
from rest_framework.permissions import AllowAny, IsAdminUser
from rest_framework.viewsets import ModelViewSet
from core.apps.accounts.models.permission import PermissionToAction
from core.apps.accounts.serializers.permission import PermissionSerializer
from core.apps.accounts.models.permission import PermissionToAction, PermissionToTab, Permission, Role
from core.apps.accounts.serializers.permission import PermissionToActionSerializer, PermissionToTabSerializer, \
PermissionSerializer, RoleSerializer
# class PermissionToActionViewSetMixin(BaseViewSetMixin):
# queryset = PermissionToAction.objects.all()
# permission_classes = [AllowAny]
# serializer_class = PermissionSerializer
#
# action_permission_classes = {}
# action_serializer_class = {
# "list": PermissionSerializer,
# "retrieve": PermissionSerializer,
# "create": PermissionSerializer,
# }
@extend_schema(tags=["permission"])
class PermissionToActionViewSet(BaseViewSetMixin, ModelViewSet):
queryset = PermissionToAction.objects.all()
serializer_class = PermissionToActionSerializer
action_serializer_class = {
'create': PermissionToActionSerializer,
'update': PermissionToActionSerializer,
}
action_permission_classes = {
'create': [AllowAny],
'destroy': [IsAdminUser],
}
@extend_schema(tags=["permission"])
class PermissionToTabViewSet(BaseViewSetMixin, ModelViewSet):
queryset = PermissionToTab.objects.all()
serializer_class = PermissionToTabSerializer
@extend_schema(tags=["permission"])
class PermissionViewSet(BaseViewSetMixin, ModelViewSet):
queryset = Permission.objects.all()
serializer_class = PermissionSerializer
class RoleViewSet(BaseViewSetMixin, ModelViewSet):
queryset = Role.objects.all()
serializer_class = RoleSerializer