feat: 删除授权模块中关于系统用户的API

This commit is contained in:
Jiangjie.Bai
2022-09-29 17:38:27 +08:00
parent fd0ce0d1c6
commit 76747642c4
4 changed files with 2 additions and 79 deletions

View File

@@ -11,7 +11,6 @@ from perms.models import AssetPermission
from assets.models import Asset, Node
from . import user_permission as uapi
from perms import serializers
from perms.utils.permission import get_asset_system_user_ids_with_actions_by_group
from assets.api.mixin import SerializeToTreeNodeMixin
from users.models import UserGroup
@@ -19,18 +18,10 @@ __all__ = [
'UserGroupGrantedAssetsApi', 'UserGroupGrantedNodesApi',
'UserGroupGrantedNodeAssetsApi',
'UserGroupGrantedNodeChildrenAsTreeApi',
'UserGroupGrantedAssetSystemUsersApi',
'UserGroupGrantedAssetAccountsApi',
]
class UserGroupMixin:
@lazyproperty
def group(self):
group_id = self.kwargs.get('pk')
return UserGroup.objects.get(id=group_id)
class UserGroupGrantedAssetsApi(ListAPIView):
serializer_class = serializers.AssetGrantedSerializer
only_fields = serializers.AssetGrantedSerializer.Meta.only_fields
@@ -201,11 +192,6 @@ class UserGroupGrantedNodeChildrenAsTreeApi(SerializeToTreeNodeMixin, ListAPIVie
return Response(data=nodes)
class UserGroupGrantedAssetSystemUsersApi(UserGroupMixin, uapi.UserGrantedAssetSystemUsersForAdminApi):
def get_asset_system_user_ids_with_actions(self, asset):
return get_asset_system_user_ids_with_actions_by_group(self.group, asset)
class UserGroupGrantedAssetAccountsApi(uapi.UserGrantedAssetAccountsApi):
@lazyproperty

View File

@@ -26,10 +26,8 @@ from perms.models import AssetPermission, Action
logger = get_logger(__name__)
__all__ = [
'UserGrantedAssetSystemUsersForAdminApi',
'ValidateUserAssetPermissionApi',
'GetUserAssetPermissionActionsApi',
'MyGrantedAssetSystemUsersApi',
'UserGrantedAssetAccountsApi',
'MyGrantedAssetAccountsApi',
'UserGrantedAssetSpecialAccountsApi',
@@ -101,50 +99,6 @@ class ValidateUserAssetPermissionApi(APIView):
return Response(data, status=status_code)
class UserGrantedAssetSystemUsersForAdminApi(ListAPIView):
rbac_perms = {
'list': 'perms.view_userassets'
}
@lazyproperty
def user(self):
user_id = self.kwargs.get('pk')
return User.objects.get(id=user_id)
@lazyproperty
def system_users_with_actions(self):
asset_id = self.kwargs.get('asset_id')
asset = get_object_or_404(Asset, id=asset_id, is_active=True)
return self.get_asset_system_user_ids_with_actions(asset)
def get_asset_system_user_ids_with_actions(self, asset):
return get_asset_system_user_ids_with_actions_by_user(self.user, asset)
def paginate_queryset(self, queryset):
page = super().paginate_queryset(queryset)
if page:
page = self.set_systemusers_action(page)
else:
self.set_systemusers_action(queryset)
return page
def set_systemusers_action(self, queryset):
queryset_list = list(queryset)
for system_user in queryset_list:
actions = self.system_users_with_actions.get(system_user.id, 0)
system_user.actions = actions
return queryset_list
class MyGrantedAssetSystemUsersApi(UserGrantedAssetSystemUsersForAdminApi):
permission_classes = (IsValidUser,)
@lazyproperty
def user(self):
return self.request.user
class UserGrantedAssetAccountsApi(ListAPIView):
serializer_class = serializers.AccountsGrantedSerializer
rbac_perms = {