app permission api 20 (api)
This commit is contained in:
@@ -1,8 +1,26 @@
|
|||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
|
|
||||||
from core.apps.accounts.models.permission import PermissionToAction
|
from core.apps.accounts.models.permission import PermissionToAction, PermissionToTab, Permission, Role
|
||||||
|
|
||||||
|
|
||||||
|
class PermissionToActionSerializer(serializers.ModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = PermissionToAction
|
||||||
|
fields = "__all__"
|
||||||
|
|
||||||
|
class PermissionToTabSerializer(serializers.ModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = PermissionToTab
|
||||||
|
fields = '__all__'
|
||||||
|
|
||||||
|
|
||||||
class PermissionSerializer(serializers.ModelSerializer):
|
class PermissionSerializer(serializers.ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = PermissionToAction
|
model = Permission
|
||||||
|
fields = '__all__'
|
||||||
|
|
||||||
|
|
||||||
|
class RoleSerializer(serializers.ModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = Role
|
||||||
|
fields = '__all__'
|
||||||
@@ -8,7 +8,7 @@ from .views import RegisterView, ResetPasswordView, MeView, ChangePasswordView,
|
|||||||
AdminUserView, AdminCreateAPIView, AdminUpdateAPIView
|
AdminUserView, AdminCreateAPIView, AdminUpdateAPIView
|
||||||
from rest_framework.routers import DefaultRouter
|
from rest_framework.routers import DefaultRouter
|
||||||
|
|
||||||
# from .views.permission import PermissionToActionViewSetMixin
|
from .views.permission import PermissionToActionViewSet, PermissionToTabViewSet, PermissionViewSet, RoleViewSet
|
||||||
|
|
||||||
router = DefaultRouter()
|
router = DefaultRouter()
|
||||||
router.register("auth", RegisterView, basename="auth")
|
router.register("auth", RegisterView, basename="auth")
|
||||||
@@ -16,7 +16,10 @@ router.register("auth", ResetPasswordView, basename="reset-password")
|
|||||||
router.register("auth", MeView, basename="me")
|
router.register("auth", MeView, basename="me")
|
||||||
router.register("auth", ChangePasswordView, basename="change-password")
|
router.register("auth", ChangePasswordView, basename="change-password")
|
||||||
router.register("user", AdminUserView, basename="user-crud")
|
router.register("user", AdminUserView, basename="user-crud")
|
||||||
# router.register("user", PermissionToActionViewSetMixin, basename="permission")
|
router.register("action", PermissionToActionViewSet, basename="action")
|
||||||
|
router.register("permission-to-tab", PermissionToTabViewSet, basename="permission-to-tab")
|
||||||
|
router.register("permission", PermissionViewSet, basename="permission")
|
||||||
|
router.register("permission-role", RoleViewSet, basename="permission-role")
|
||||||
|
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
|
|||||||
@@ -1,18 +1,42 @@
|
|||||||
from django_core.mixins import BaseViewSetMixin
|
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.models.permission import PermissionToAction, PermissionToTab, Permission, Role
|
||||||
from core.apps.accounts.serializers.permission import PermissionSerializer
|
from core.apps.accounts.serializers.permission import PermissionToActionSerializer, PermissionToTabSerializer, \
|
||||||
|
PermissionSerializer, RoleSerializer
|
||||||
|
|
||||||
|
|
||||||
# class PermissionToActionViewSetMixin(BaseViewSetMixin):
|
@extend_schema(tags=["permission"])
|
||||||
# queryset = PermissionToAction.objects.all()
|
class PermissionToActionViewSet(BaseViewSetMixin, ModelViewSet):
|
||||||
# permission_classes = [AllowAny]
|
queryset = PermissionToAction.objects.all()
|
||||||
# serializer_class = PermissionSerializer
|
serializer_class = PermissionToActionSerializer
|
||||||
#
|
|
||||||
# action_permission_classes = {}
|
action_serializer_class = {
|
||||||
# action_serializer_class = {
|
'create': PermissionToActionSerializer,
|
||||||
# "list": PermissionSerializer,
|
'update': PermissionToActionSerializer,
|
||||||
# "retrieve": PermissionSerializer,
|
}
|
||||||
# "create": PermissionSerializer,
|
|
||||||
# }
|
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