mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-09-01 23:47:40 +00:00
pref: 修改授权 api,去掉不用的
This commit is contained in:
@@ -3,42 +3,18 @@ from rest_framework.generics import ListAPIView, get_object_or_404
|
||||
|
||||
from common.permissions import IsValidUser
|
||||
from common.utils import get_logger, lazyproperty
|
||||
from assets.serializers import AccountSerializer
|
||||
from perms.hands import User, Asset, Account
|
||||
from perms import serializers
|
||||
from perms.hands import User, Asset
|
||||
from perms.utils import PermAccountUtil
|
||||
from .mixin import RoleAdminMixin, RoleUserMixin
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
|
||||
__all__ = [
|
||||
'UserAllGrantedAccountsApi',
|
||||
'MyAllGrantedAccountsApi',
|
||||
'UserGrantedAssetAccountsApi',
|
||||
'MyGrantedAssetAccountsApi',
|
||||
'UserGrantedAssetSpecialAccountsApi',
|
||||
'MyGrantedAssetSpecialAccountsApi',
|
||||
]
|
||||
|
||||
|
||||
class UserAllGrantedAccountsApi(RoleAdminMixin, ListAPIView):
|
||||
""" 授权给用户的所有账号列表 """
|
||||
serializer_class = AccountSerializer
|
||||
filterset_fields = ("name", "username", "privileged", "version")
|
||||
search_fields = filterset_fields
|
||||
|
||||
def get_queryset(self):
|
||||
util = PermAccountUtil()
|
||||
accounts = util.get_perm_accounts_for_user(self.user)
|
||||
return accounts
|
||||
|
||||
|
||||
class MyAllGrantedAccountsApi(RoleUserMixin, UserAllGrantedAccountsApi):
|
||||
""" 授权给我的所有账号列表 """
|
||||
pass
|
||||
|
||||
|
||||
class UserGrantedAssetAccountsApi(ListAPIView):
|
||||
serializer_class = serializers.AccountsGrantedSerializer
|
||||
|
||||
@@ -55,9 +31,8 @@ class UserGrantedAssetAccountsApi(ListAPIView):
|
||||
return asset
|
||||
|
||||
def get_queryset(self):
|
||||
accounts = PermAccountUtil().get_perm_accounts_for_user_asset(
|
||||
self.user, self.asset, with_actions=True
|
||||
)
|
||||
util = PermAccountUtil()
|
||||
accounts = util.get_permed_accounts_for_user(self.user, self.asset)
|
||||
return accounts
|
||||
|
||||
|
||||
@@ -67,29 +42,3 @@ class MyGrantedAssetAccountsApi(UserGrantedAssetAccountsApi):
|
||||
@lazyproperty
|
||||
def user(self):
|
||||
return self.request.user
|
||||
|
||||
|
||||
class UserGrantedAssetSpecialAccountsApi(ListAPIView):
|
||||
serializer_class = serializers.AccountsGrantedSerializer
|
||||
|
||||
@lazyproperty
|
||||
def user(self):
|
||||
return self.request.user
|
||||
|
||||
def get_queryset(self):
|
||||
# 构造默认包含的账号,如: @INPUT @USER
|
||||
accounts = [
|
||||
Account.get_manual_account(),
|
||||
Account.get_user_account(self.user.username)
|
||||
]
|
||||
for account in accounts:
|
||||
account.actions = Action.ALL
|
||||
return accounts
|
||||
|
||||
|
||||
class MyGrantedAssetSpecialAccountsApi(UserGrantedAssetSpecialAccountsApi):
|
||||
permission_classes = (IsValidUser,)
|
||||
|
||||
@lazyproperty
|
||||
def user(self):
|
||||
return self.request.user
|
||||
|
Reference in New Issue
Block a user