app permission api 20 (api)
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user