feat(perms): 添加ApplicationPermission API(包含用户/用户组/授权/校验等API)

This commit is contained in:
Bai
2020-10-22 17:05:47 +08:00
committed by 老广
parent 4847b7a680
commit 1d550cbe64
18 changed files with 374 additions and 26 deletions

View File

@@ -7,6 +7,7 @@ from django.utils.translation import ugettext_lazy as _
from assets.models import Node, SystemUser, Asset
from assets.serializers import ProtocolsField
from .asset_permission import ActionsField
from applications.models import Application
__all__ = [
'NodeGrantedSerializer',
@@ -15,6 +16,8 @@ __all__ = [
'RemoteAppSystemUserSerializer',
'DatabaseAppSystemUserSerializer',
'K8sAppSystemUserSerializer',
'ApplicationGrantedSerializer',
'ApplicationSystemUserSerializer'
]
@@ -34,6 +37,19 @@ class AssetSystemUserSerializer(serializers.ModelSerializer):
read_only_fields = fields
class ApplicationSystemUserSerializer(serializers.ModelSerializer):
"""
查看授权的应用系统用户的数据结构这个和SystemUserSerializer不同字段少
"""
class Meta:
model = SystemUser
only_fields = (
'id', 'name', 'username', 'priority', 'protocol', 'login_mode'
)
fields = list(only_fields)
read_only_fields = fields
class RemoteAppSystemUserSerializer(serializers.ModelSerializer):
class Meta:
model = SystemUser
@@ -92,3 +108,16 @@ class NodeGrantedSerializer(serializers.ModelSerializer):
class ActionsSerializer(serializers.Serializer):
actions = ActionsField(read_only=True)
class ApplicationGrantedSerializer(serializers.ModelSerializer):
"""
被授权应用的数据结构
"""
class Meta:
model = Application
only_fields = [
'id', 'name', 'domain', 'category', 'type', 'comment', 'org_id'
]
fields = only_fields + ['org_name']
read_only_fields = fields