mirror of https://github.com/jumpserver/jumpserver
feat: 添加授权给用户所有账号列表的API
parent
7087d5a74e
commit
340d39d7f7
|
@ -4,3 +4,4 @@ from .common import *
|
|||
from .nodes import *
|
||||
from .assets import *
|
||||
from .nodes_with_assets import *
|
||||
from .accounts import *
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
from rest_framework import generics
|
||||
from assets.serializers import AccountSerializer
|
||||
from perms.utils.account import PermAccountUtil
|
||||
from .mixin import RoleAdminMixin, RoleUserMixin
|
||||
|
||||
|
||||
__all__ = ['UserAllGrantedAccountsApi', 'MyAllGrantedAccountsApi']
|
||||
|
||||
|
||||
class UserAllGrantedAccountsApi(RoleAdminMixin, generics.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
|
|
@ -58,9 +58,12 @@ user_permission_urlpatterns = [
|
|||
# 收藏的资产
|
||||
path('<uuid:pk>/nodes/favorite/assets/', api.UserFavoriteGrantedAssetsApi.as_view(), name='user-ungrouped-assets'),
|
||||
path('nodes/favorite/assets/', api.MyFavoriteGrantedAssetsApi.as_view(), name='my-ungrouped-assets'),
|
||||
# v3 中上面的 API 基本不用动
|
||||
|
||||
# 获取所有和资产-用户关联的账号列表
|
||||
# 获取授权给用户的所有账号
|
||||
path('<uuid:pk>/accounts/', api.UserAllGrantedAccountsApi.as_view(), name='user-accounts'),
|
||||
path('accounts/', api.MyAllGrantedAccountsApi.as_view(), name='my-accounts'),
|
||||
|
||||
# 获取授权给用户某个资产的所有账号
|
||||
path('<uuid:pk>/assets/<uuid:asset_id>/accounts/', api.UserGrantedAssetAccountsApi.as_view(), name='user-asset-accounts'),
|
||||
path('assets/<uuid:asset_id>/accounts/', api.MyGrantedAssetAccountsApi.as_view(), name='my-asset-accounts'),
|
||||
# 用户登录资产的特殊账号, @INPUT, @USER 等
|
||||
|
|
Loading…
Reference in New Issue