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, read_only=True) class Meta: model = PermissionToTab fields = ['id', 'name', 'permission_to_actions'] class PermissionSerializer(serializers.ModelSerializer): permission_tabs = PermissionToTabSerializer(many=True, read_only=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', ]