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_to_tabs = PermissionToTabSerializer(many=True) class Meta: model = Permission fields = ['id', 'name', 'permission_to_tabs'] class RoleListSerializer(serializers.ModelSerializer): permissions = PermissionSerializer(many=True) permission_to_tabs = PermissionToTabSerializer(many=True) permission_to_actions = PermissionToActionSerializer(many=True) class Meta: model = Role fields = [ 'id', 'name', 'comment', 'permissions', 'permission_to_tabs', 'permission_to_actions', ]