56 lines
1.6 KiB
Python
56 lines
1.6 KiB
Python
from rest_framework import serializers
|
|
|
|
from core.apps.accounts.models.permission import PermissionToAction, PermissionToTab, Permission, Role
|
|
|
|
|
|
class PermissionToActionSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = PermissionToAction
|
|
fields = ['id', 'name']
|
|
|
|
|
|
class PermissionToTabSerializer(serializers.ModelSerializer):
|
|
permission_to_actions = PermissionToActionSerializer(many=True)
|
|
|
|
class Meta:
|
|
model = PermissionToTab
|
|
fields = ['id', 'name', 'permission_to_actions']
|
|
|
|
|
|
class PermissionSerializer(serializers.ModelSerializer):
|
|
permission_tabs = PermissionToTabSerializer(many=True)
|
|
|
|
class Meta:
|
|
model = Permission
|
|
fields = ['id', 'name', 'permission_tabs']
|
|
|
|
|
|
class PermissionToActionListSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = PermissionToAction
|
|
fields = ['id', 'name']
|
|
|
|
|
|
class PermissionToTabListSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = PermissionToTab
|
|
fields = ['id', 'name']
|
|
|
|
|
|
class PermissionListSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Permission
|
|
fields = ['id', 'name']
|
|
|
|
|
|
class RoleListSerializer(serializers.ModelSerializer):
|
|
permissions = PermissionListSerializer(many=True)
|
|
permission_to_tabs = PermissionToTabListSerializer(many=True)
|
|
permission_to_actions = PermissionToActionListSerializer(many=True)
|
|
|
|
class Meta:
|
|
model = Role
|
|
fields = [
|
|
'id', 'name', 'comment', 'permissions', 'permission_to_tabs', 'permission_to_actions',
|
|
]
|