feat: 修改 Permission filter 方法名

pull/8931/head
Jiangjie.Bai 2022-09-23 14:45:09 +08:00
parent 286d0e4ac1
commit 65b942ffa4
2 changed files with 8 additions and 8 deletions

View File

@ -163,7 +163,7 @@ class UserGrantedAssetAccounts(ListAPIView):
def get_queryset(self):
# 获取用户-资产的授权规则
assetperms = AssetPermission.filter_permissions(self.user, self.asset)
assetperms = AssetPermission.filter(self.user, self.asset)
account_names = AssetPermission.get_account_names(assetperms)
accounts = self.asset.filter_accounts(account_names)
# 构造默认包含的账号,如: @INPUT @USER

View File

@ -232,17 +232,17 @@ class AssetPermission(OrgModelMixin):
return account_names
@classmethod
def filter_permissions(cls, user=None, asset=None, account=None):
def filter(cls, user=None, asset=None, account=None):
""" 获取同时包含 用户-资产-账号 的授权规则 """
assetperm_ids = []
if user:
user_assetperm_ids = cls.filter_permissions_by_user(user, flat=True)
user_assetperm_ids = cls.filter_by_user(user, flat=True)
assetperm_ids.append(user_assetperm_ids)
if asset:
asset_assetperm_ids = cls.filter_permissions_by_asset(asset, flat=True)
asset_assetperm_ids = cls.filter_by_asset(asset, flat=True)
assetperm_ids.append(asset_assetperm_ids)
if account:
account_assetperm_ids = cls.filter_permissions_by_account(account, flat=True)
account_assetperm_ids = cls.filter_by_account(account, flat=True)
assetperm_ids.append(account_assetperm_ids)
# & 是同时满足,比如有用户,但是用户的规则是空,那么返回也应该是空
assetperm_ids = list(reduce(lambda x, y: set(x) & set(y), assetperm_ids))
@ -250,7 +250,7 @@ class AssetPermission(OrgModelMixin):
return assetperms
@classmethod
def filter_permissions_by_user(cls, user, with_group=True, flat=False):
def filter_by_user(cls, user, with_group=True, flat=False):
assetperm_ids = set()
user_assetperm_ids = AssetPermission.users.through.objects \
.filter(user_id=user.id) \
@ -273,7 +273,7 @@ class AssetPermission(OrgModelMixin):
return assetperms
@classmethod
def filter_permissions_by_asset(cls, asset, with_node=True, flat=False):
def filter_by_asset(cls, asset, with_node=True, flat=False):
assetperm_ids = set()
asset_assetperm_ids = AssetPermission.assets.through.objects \
.filter(asset_id=asset.id) \
@ -294,7 +294,7 @@ class AssetPermission(OrgModelMixin):
return assetperms
@classmethod
def filter_permissions_by_account(cls, account, flat=False):
def filter_by_account(cls, account, flat=False):
assetperms = cls.objects.filter(accounts__contains=account).valid()
if flat:
assetperm_ids = assetperms.values_list('id', flat=True)