mirror of https://github.com/jumpserver/jumpserver
feat: 添加su-from-accountsAPI
parent
b6afe77bc0
commit
71e76e5075
|
@ -27,8 +27,16 @@ class AccountViewSet(OrgBulkModelViewSet):
|
|||
rbac_perms = {
|
||||
'verify': 'assets.test_account',
|
||||
'partial_update': 'assets.change_accountsecret',
|
||||
'su_from_accounts': 'assets.view_account',
|
||||
}
|
||||
|
||||
@action(methods=['get'], detail=True, url_path='su-from-accounts')
|
||||
def su_from_accounts(self, request, *args, **kwargs):
|
||||
account = super().get_object()
|
||||
accounts = account.get_su_from_accounts()
|
||||
serializer = serializers.AccountSerializer(accounts, many=True)
|
||||
return Response(data=serializer.data)
|
||||
|
||||
@action(methods=['post'], detail=True, url_path='verify')
|
||||
def verify_account(self, request, *args, **kwargs):
|
||||
account = super().get_object()
|
||||
|
|
|
@ -87,6 +87,9 @@ class Account(AbsConnectivity, BaseAccount):
|
|||
""" @USER 动态用户的账号(self) """
|
||||
return cls(name=cls.AliasAccount.USER.label, username=cls.AliasAccount.USER.value)
|
||||
|
||||
def get_su_from_accounts(self):
|
||||
return self.asset.accounts.exclude(id=self.id)
|
||||
|
||||
|
||||
class AccountTemplate(BaseAccount):
|
||||
class Meta:
|
||||
|
|
Loading…
Reference in New Issue