[future] 添加路由, 增加api认证, 测试所有添加的api

pull/530/head
Administrator 8 years ago
parent 5ae2711c6e
commit 76f72dfb58

@ -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')),
]

@ -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

@ -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()

@ -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)),
]

Loading…
Cancel
Save