feat: 添加API获取授权规则授权的所有账号列表

This commit is contained in:
Jiangjie.Bai
2022-11-01 19:55:49 +08:00
parent 0c15ac71f6
commit 0728868af2
4 changed files with 17 additions and 3 deletions

View File

@@ -10,11 +10,13 @@ from orgs.utils import current_org
from perms import serializers
from perms import models
from perms.utils.user_permission import UserGrantedAssetsQueryUtils
from assets.serializers import AccountSerializer
__all__ = [
'AssetPermissionUserRelationViewSet', 'AssetPermissionUserGroupRelationViewSet',
'AssetPermissionAssetRelationViewSet', 'AssetPermissionNodeRelationViewSet',
'AssetPermissionAllAssetListApi', 'AssetPermissionAllUserListApi',
'AssetPermissionAccountListApi',
]
@@ -111,3 +113,16 @@ class AssetPermissionNodeRelationViewSet(RelationMixin):
queryset = queryset.annotate(node_key=F('node__key'))
return queryset
class AssetPermissionAccountListApi(generics.ListAPIView):
serializer_class = AccountSerializer
filterset_fields = ("name", "username", "privileged", "version")
search_fields = filterset_fields
def get_queryset(self):
pk = self.kwargs.get("pk")
perm = get_object_or_404(models.AssetPermission, pk=pk)
accounts = perm.get_all_accounts()
return accounts