diff --git a/apps/jumpserver/urls.py b/apps/jumpserver/urls.py index 7a1c3ae95..54596074a 100644 --- a/apps/jumpserver/urls.py +++ b/apps/jumpserver/urls.py @@ -25,6 +25,7 @@ urlpatterns = [ url(r'^(api/)?users/', include('users.urls')), url(r'^assets/', include('assets.urls')), url(r'^perms/', include('perms.urls')), + url(r'^(api/)?ops/', include('ops.urls')), ] diff --git a/apps/ops/api/serializers.py b/apps/ops/api/serializers.py index 4111a64ff..7e6ede6cb 100644 --- a/apps/ops/api/serializers.py +++ b/apps/ops/api/serializers.py @@ -1,6 +1,6 @@ # ~*~ coding: utf-8 ~*~ +from __future__ import unicode_literals -from __future__ import unicode_literals, print_function from ..models import HostAlia, UserAlia, CmdAlia, RunasAlia, Extra_conf, Privilege, Sudo from rest_framework import serializers diff --git a/apps/ops/api/views.py b/apps/ops/api/views.py index b0eec81e0..60072250b 100644 --- a/apps/ops/api/views.py +++ b/apps/ops/api/views.py @@ -1,24 +1,26 @@ # ~*~ coding: utf-8 ~*~ - from __future__ import unicode_literals from rest_framework import viewsets from rest_framework import status from rest_framework.response import Response from serializers import * +from permissions import * + +import exc class HostAliaViewSet(viewsets.GenericViewSet): queryset = HostAlia.objects.all() serializer_class = HostAliaSerializer - permission_classes = None + permission_classes = (AdminUserRequired,) - def list(self): + def list(self, *args, **kwargs): h_alias = self.get_queryset() h_serializer = self.get_serializer(h_alias, many=True) return Response(h_serializer.data) - def create(self): + def create(self, *args, **kwargs): serializer = self.get_serializer(data=self.request.data) serializer.is_valid(raise_exception=True) self.perform_create() @@ -48,14 +50,14 @@ class HostAliaViewSet(viewsets.GenericViewSet): class CmdAliaViewSet(viewsets.GenericViewSet): queryset = CmdAlia.objects.all() serializer_class = CmdAliaSerializer - permission_classes = None + permission_classes = (AdminUserRequired,) - def list(self): + def list(self, *args, **kwargs): c_alias = self.get_queryset() c_serializer = self.get_serializer(c_alias, many=True) return Response(c_serializer.data) - def create(self): + def create(self, *args, **kwargs): serializer = self.get_serializer(data=self.request.data) serializer.is_valid(raise_exception=True) self.perform_create() @@ -85,14 +87,14 @@ class CmdAliaViewSet(viewsets.GenericViewSet): class UserAliaViewSet(viewsets.GenericViewSet): queryset = UserAlia.objects.all() serializer_class = UserAliaSerializer - permission_classes = None + permission_classes = (AdminUserRequired,) - def list(self): + def list(self, *args, **kwargs): u_alias = self.get_queryset() u_serializer = self.get_serializer(u_alias, many=True) return Response(u_serializer.data) - def create(self): + def create(self, *args, **kwargs): serializer = self.get_serializer(data=self.request.data) serializer.is_valid(raise_exception=True) self.perform_create() @@ -122,14 +124,14 @@ class UserAliaViewSet(viewsets.GenericViewSet): class RunasAliaViewSet(viewsets.GenericViewSet): queryset = RunasAlia.objects.all() serializer_class = RunasAliaSerializer - permission_classes = None + permission_classes = (AdminUserRequired,) - def list(self): + def list(self, *args, **kwargs): r_alias = self.get_queryset() r_serializer = self.get_serializer(r_alias, many=True) return Response(r_serializer.data) - def create(self): + def create(self, *args, **kwargs): serializer = self.get_serializer(data=self.request.data) serializer.is_valid(raise_exception=True) self.perform_create() @@ -159,14 +161,14 @@ class RunasAliaViewSet(viewsets.GenericViewSet): class ExtraconfViewSet(viewsets.GenericViewSet): queryset = Extra_conf.objects.all() serializer_class = ExtraconfSerializer - permission_classes = None + permission_classes = (AdminUserRequired,) - def list(self): + def list(self, *args, **kwargs): e_alias = self.get_queryset() e_serializer = self.get_serializer(e_alias, many=True) return Response(e_serializer.data) - def create(self): + def create(self, *args, **kwargs): serializer = self.get_serializer(data=self.request.data) serializer.is_valid(raise_exception=True) self.perform_create() @@ -196,19 +198,19 @@ class ExtraconfViewSet(viewsets.GenericViewSet): class PrivilegeViewSet(viewsets.GenericViewSet): queryset = Privilege.objects.all() serializer_class = PrivilegeSerializer - permission_classes = None + permission_classes = (AdminUserRequired,) - def list(self): - pass + def list(self, *args, **kwargs): + raise exc.ServiceNotImplemented - def create(self): - pass + def create(self, *args, **kwargs): + raise exc.ServiceNotImplemented def retrieve(self, *args, **kwargs): - pass + raise exc.ServiceNotImplemented def update(self, *args, **kwargs): - pass + raise exc.ServiceNotImplemented def destroy(self, *args, **kwargs): privilege = self.get_object() @@ -222,19 +224,19 @@ class PrivilegeViewSet(viewsets.GenericViewSet): class SudoViewSet(viewsets.GenericViewSet): queryset = Sudo.objects.all() serializer_class = SudoSerializer - permission_classes = None + permission_classes = (AdminUserRequired,) - def list(self): - pass + def list(self, *args, **kwargs): + raise exc.ServiceNotImplemented - def create(self): - pass + def create(self, *args, **kwargs): + raise exc.ServiceNotImplemented def retrieve(self, *args, **kwargs): - pass + raise exc.ServiceNotImplemented def update(self, *args, **kwargs): - pass + raise exc.ServiceNotImplemented def destroy(self, *args, **kwargs): sudo = self.get_object() diff --git a/apps/ops/urls.py b/apps/ops/urls.py index ea4b669b7..c4a42c9b5 100644 --- a/apps/ops/urls.py +++ b/apps/ops/urls.py @@ -12,11 +12,13 @@ import views as mvc_view app_name = 'ops' router = DefaultRouter() -router.register(r'HostAlias', api_view.HostAliaViewSet) -router.register(r'UserAlias', api_view.UserAliaViewSet) -router.register(r'CmdAlias', api_view.CmdAliaViewSet) -router.register(r'RunasAlias', api_view.RunasAliaViewSet) -router.register(r'Extraconf', api_view.ExtraconfViewSet) +router.register(r'host_alia', api_view.HostAliaViewSet) +router.register(r'user_alia', api_view.UserAliaViewSet) +router.register(r'cmd_alia', api_view.CmdAliaViewSet) +router.register(r'runas_alia', api_view.RunasAliaViewSet) +router.register(r'extra_conf', api_view.ExtraconfViewSet) +router.register(r'privilege', api_view.PrivilegeViewSet) +router.register(r'sudo', api_view.SudoViewSet) urlpatterns = [ # Resource Sudo url @@ -24,11 +26,10 @@ urlpatterns = [ url(r'^sudo/create$', mvc_view.SudoCreateView.as_view(), name='sudo-create'), url(r'^sudo/detail$', mvc_view.SudoDetailView.as_view(), name='sudo-detail'), url(r'^sudo/update$', mvc_view.SudoUpdateView.as_view(), name='sudo-update'), - url(r'^sudo/delete$', mvc_view.SudoDeleteView.as_view(), name='sudo-delete'), ] urlpatterns += [ - url(r'^api/ops/sudo', include(router.urls)), + url(r'^v1/sudo', include(router.urls)), ]