mirror of https://github.com/jumpserver/jumpserver
Update perm api
parent
47090eb0f7
commit
dde9ffb2ae
|
@ -13,14 +13,6 @@ from .models import AssetGroup, Asset, IDC, SystemUser, AdminUser
|
||||||
from . import serializers
|
from . import serializers
|
||||||
|
|
||||||
|
|
||||||
class AssetGroupViewSet(viewsets.ModelViewSet):
|
|
||||||
""" API endpoint that allows AssetGroup to be viewed or edited.
|
|
||||||
some other comment
|
|
||||||
"""
|
|
||||||
queryset = AssetGroup.objects.all()
|
|
||||||
serializer_class = serializers.AssetGroupSerializer
|
|
||||||
|
|
||||||
|
|
||||||
class AssetViewSet(viewsets.ModelViewSet):
|
class AssetViewSet(viewsets.ModelViewSet):
|
||||||
"""API endpoint that allows Asset to be viewed or edited."""
|
"""API endpoint that allows Asset to be viewed or edited."""
|
||||||
queryset = Asset.objects.all()
|
queryset = Asset.objects.all()
|
||||||
|
@ -34,6 +26,14 @@ class AssetViewSet(viewsets.ModelViewSet):
|
||||||
return queryset
|
return queryset
|
||||||
|
|
||||||
|
|
||||||
|
class AssetGroupViewSet(viewsets.ModelViewSet):
|
||||||
|
""" API endpoint that allows AssetGroup to be viewed or edited.
|
||||||
|
some other comment
|
||||||
|
"""
|
||||||
|
queryset = AssetGroup.objects.all()
|
||||||
|
serializer_class = serializers.AssetGroupSerializer
|
||||||
|
|
||||||
|
|
||||||
class IDCViewSet(viewsets.ModelViewSet):
|
class IDCViewSet(viewsets.ModelViewSet):
|
||||||
"""API endpoint that allows IDC to be viewed or edited."""
|
"""API endpoint that allows IDC to be viewed or edited."""
|
||||||
queryset = IDC.objects.all()
|
queryset = IDC.objects.all()
|
||||||
|
@ -68,7 +68,7 @@ class SystemUserViewSet(viewsets.ModelViewSet):
|
||||||
|
|
||||||
class AssetListUpdateApi(BulkDeleteApiMixin, ListBulkCreateUpdateDestroyAPIView):
|
class AssetListUpdateApi(BulkDeleteApiMixin, ListBulkCreateUpdateDestroyAPIView):
|
||||||
queryset = Asset.objects.all()
|
queryset = Asset.objects.all()
|
||||||
serializer_class = serializers.AssetBulkUpdateSerializer
|
serializer_class = serializers.AssetSerializer
|
||||||
permission_classes = (IsSuperUser,)
|
permission_classes = (IsSuperUser,)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -6,22 +6,11 @@ from common.mixins import BulkDeleteApiMixin
|
||||||
from rest_framework_bulk import BulkListSerializer, BulkSerializerMixin
|
from rest_framework_bulk import BulkListSerializer, BulkSerializerMixin
|
||||||
|
|
||||||
|
|
||||||
class AssetBulkUpdateSerializer(BulkSerializerMixin, serializers.ModelSerializer):
|
class AssetSerializer(BulkSerializerMixin, serializers.ModelSerializer):
|
||||||
# group_display = serializers.SerializerMethodField()
|
|
||||||
# active_display = serializers.SerializerMethodField()
|
|
||||||
#groups = serializers.PrimaryKeyRelatedField(many=True, queryset=AssetGroup.objects.all())
|
|
||||||
|
|
||||||
class Meta(object):
|
class Meta(object):
|
||||||
model = Asset
|
model = Asset
|
||||||
list_serializer_class = BulkListSerializer
|
list_serializer_class = BulkListSerializer
|
||||||
fields = ('id', 'port', 'idc')
|
|
||||||
|
|
||||||
# def get_group_display(self, obj):
|
|
||||||
# return " ".join([group.name for group in obj.groups.all()])
|
|
||||||
#
|
|
||||||
# def get_active_display(self, obj):
|
|
||||||
# # TODO: user ative state
|
|
||||||
# return not (obj.is_expired and obj.is_active)
|
|
||||||
|
|
||||||
|
|
||||||
class AssetGroupSerializer(serializers.ModelSerializer):
|
class AssetGroupSerializer(serializers.ModelSerializer):
|
||||||
|
@ -29,11 +18,6 @@ class AssetGroupSerializer(serializers.ModelSerializer):
|
||||||
model = AssetGroup
|
model = AssetGroup
|
||||||
|
|
||||||
|
|
||||||
class AssetSerializer(serializers.ModelSerializer):
|
|
||||||
class Meta:
|
|
||||||
model = Asset
|
|
||||||
|
|
||||||
|
|
||||||
class AdminUserSerializer(serializers.ModelSerializer):
|
class AdminUserSerializer(serializers.ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = AdminUser
|
model = AdminUser
|
||||||
|
|
|
@ -3,17 +3,26 @@
|
||||||
|
|
||||||
from rest_framework.views import APIView, Response
|
from rest_framework.views import APIView, Response
|
||||||
from rest_framework.generics import ListCreateAPIView
|
from rest_framework.generics import ListCreateAPIView
|
||||||
|
from rest_framework import viewsets
|
||||||
from users.backends import IsValidUser, IsSuperUser
|
from users.backends import IsValidUser, IsSuperUser
|
||||||
from .utils import get_user_granted_assets, get_user_granted_asset_groups
|
from .utils import get_user_granted_assets, get_user_granted_asset_groups
|
||||||
from .models import AssetPermission
|
from .models import AssetPermission
|
||||||
from . import serializers
|
from . import serializers
|
||||||
|
|
||||||
|
|
||||||
class AssetPermissionListCreateApi(ListCreateAPIView):
|
class AssetPermissionViewSet(viewsets.ModelViewSet):
|
||||||
queryset = AssetPermission.objects.all()
|
queryset = AssetPermission.objects.all()
|
||||||
serializer_class = serializers.AssetPermissionSerializer
|
serializer_class = serializers.AssetPermissionSerializer
|
||||||
permission_classes = (IsSuperUser,)
|
permission_classes = (IsSuperUser,)
|
||||||
|
|
||||||
|
def get_queryset(self):
|
||||||
|
queryset = super(AssetPermissionViewSet, self).get_queryset()
|
||||||
|
user_id = self.request.query_params.get('user', '')
|
||||||
|
if user_id:
|
||||||
|
queryset = queryset.filter(users__id=user_id)
|
||||||
|
|
||||||
|
return queryset
|
||||||
|
|
||||||
|
|
||||||
class UserAssetsApi(APIView):
|
class UserAssetsApi(APIView):
|
||||||
permission_classes = (IsValidUser,)
|
permission_classes = (IsValidUser,)
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
# coding:utf-8
|
# coding:utf-8
|
||||||
|
|
||||||
from django.conf.urls import url
|
from django.conf.urls import url
|
||||||
|
from rest_framework import routers
|
||||||
import views
|
import views
|
||||||
import api
|
import api
|
||||||
|
|
||||||
|
@ -21,9 +22,10 @@ urlpatterns = [
|
||||||
name='asset-permission-asset-list'),
|
name='asset-permission-asset-list'),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
router = routers.DefaultRouter()
|
||||||
|
router.register('v1/asset-permissions', api.AssetPermissionViewSet, 'api-asset-permission')
|
||||||
|
|
||||||
urlpatterns += [
|
urlpatterns += [
|
||||||
url(r'^v1/asset-permission/$', api.AssetPermissionListCreateApi.as_view(),
|
|
||||||
name='asset-permission-list-create-api'),
|
|
||||||
url(r'^v1/user/assets/$', api.UserAssetsApi.as_view(),
|
url(r'^v1/user/assets/$', api.UserAssetsApi.as_view(),
|
||||||
name='user-assets'),
|
name='user-assets'),
|
||||||
url(r'^v1/user/asset-groups/$', api.UserAssetsGroupsApi.as_view(),
|
url(r'^v1/user/asset-groups/$', api.UserAssetsGroupsApi.as_view(),
|
||||||
|
@ -32,3 +34,4 @@ urlpatterns += [
|
||||||
name='user-asset-groups-assets'),
|
name='user-asset-groups-assets'),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
urlpatterns += router.urls
|
||||||
|
|
Loading…
Reference in New Issue