mirror of https://github.com/jumpserver/jumpserver
[future] 添加sudo相关的api方法
parent
c588436d55
commit
961ecb3ee8
|
@ -1,5 +0,0 @@
|
||||||
# ~*~ coding: utf-8 ~*~
|
|
||||||
|
|
||||||
from __future__ import unicode_literals
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
# ~*~ coding: utf-8 ~*~
|
||||||
|
|
||||||
|
from __future__ import unicode_literals, print_function
|
||||||
|
from ..models import HostAlia, UserAlia, CmdAlia, RunasAlia, Extra_conf
|
||||||
|
from rest_framework import serializers
|
||||||
|
|
||||||
|
|
||||||
|
class HostAliaSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = HostAlia
|
||||||
|
|
||||||
|
|
||||||
|
class CmdAliaSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = CmdAlia
|
||||||
|
|
||||||
|
|
||||||
|
class UserAliaSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = UserAlia
|
||||||
|
|
||||||
|
|
||||||
|
class RunasAliaSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = RunasAlia
|
||||||
|
|
||||||
|
|
||||||
|
class ExtraconfSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = Extra_conf
|
||||||
|
|
|
@ -0,0 +1,195 @@
|
||||||
|
# ~*~ 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 *
|
||||||
|
|
||||||
|
|
||||||
|
class HostAliaViewSet(viewsets.GenericViewSet):
|
||||||
|
queryset = HostAlia.objects.all()
|
||||||
|
serializer_class = HostAliaSerializer
|
||||||
|
permission_classes = None
|
||||||
|
|
||||||
|
def list(self):
|
||||||
|
h_alias = self.get_queryset()
|
||||||
|
h_serializer = self.get_serializer(h_alias, many=True)
|
||||||
|
return Response(h_serializer.data)
|
||||||
|
|
||||||
|
def create(self):
|
||||||
|
serializer = self.get_serializer(data=self.request.data)
|
||||||
|
serializer.is_valid(raise_exception=True)
|
||||||
|
self.perform_create()
|
||||||
|
return Response(serializer.data, status=status.HTTP_201_CREATED)
|
||||||
|
|
||||||
|
def retrieve(self, *args, **kwargs):
|
||||||
|
h_alias = self.get_object()
|
||||||
|
serializer = self.get_serializer(h_alias)
|
||||||
|
return Response(serializer.data)
|
||||||
|
|
||||||
|
def update(self, *args, **kwargs):
|
||||||
|
h_alias = self.get_object()
|
||||||
|
serializer = self.get_serializer(h_alias, data=self.request.data)
|
||||||
|
serializer.is_valid(raise_exception=False)
|
||||||
|
self.perform_create()
|
||||||
|
return Response(serializer.data)
|
||||||
|
|
||||||
|
def destroy(self, *args, **kwargs):
|
||||||
|
h_alias = self.get_object()
|
||||||
|
h_alias.delete()
|
||||||
|
return Response(status=status.HTTP_204_NO_CONTENT)
|
||||||
|
|
||||||
|
def perform_create(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class CmdAliaViewSet(viewsets.GenericViewSet):
|
||||||
|
queryset = CmdAlia.objects.all()
|
||||||
|
serializer_class = CmdAliaSerializer
|
||||||
|
permission_classes = None
|
||||||
|
|
||||||
|
def list(self):
|
||||||
|
c_alias = self.get_queryset()
|
||||||
|
c_serializer = self.get_serializer(c_alias, many=True)
|
||||||
|
return Response(c_serializer.data)
|
||||||
|
|
||||||
|
def create(self):
|
||||||
|
serializer = self.get_serializer(data=self.request.data)
|
||||||
|
serializer.is_valid(raise_exception=True)
|
||||||
|
self.perform_create()
|
||||||
|
return Response(serializer.data, status=status.HTTP_201_CREATED)
|
||||||
|
|
||||||
|
def retrieve(self, *args, **kwargs):
|
||||||
|
c_alias = self.get_object()
|
||||||
|
serializer = self.get_serializer(c_alias)
|
||||||
|
return Response(serializer.data)
|
||||||
|
|
||||||
|
def update(self, *args, **kwargs):
|
||||||
|
c_alias = self.get_object()
|
||||||
|
serializer = self.get_serializer(c_alias, data=self.request.data)
|
||||||
|
serializer.is_valid(raise_exception=False)
|
||||||
|
self.perform_create()
|
||||||
|
return Response(serializer.data)
|
||||||
|
|
||||||
|
def destroy(self, *args, **kwargs):
|
||||||
|
c_alias = self.get_object()
|
||||||
|
c_alias.delete()
|
||||||
|
return Response(status=status.HTTP_204_NO_CONTENT)
|
||||||
|
|
||||||
|
def perform_create(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class UserAliaViewSet(viewsets.GenericViewSet):
|
||||||
|
queryset = UserAlia.objects.all()
|
||||||
|
serializer_class = UserAliaSerializer
|
||||||
|
permission_classes = None
|
||||||
|
|
||||||
|
def list(self):
|
||||||
|
u_alias = self.get_queryset()
|
||||||
|
u_serializer = self.get_serializer(u_alias, many=True)
|
||||||
|
return Response(u_serializer.data)
|
||||||
|
|
||||||
|
def create(self):
|
||||||
|
serializer = self.get_serializer(data=self.request.data)
|
||||||
|
serializer.is_valid(raise_exception=True)
|
||||||
|
self.perform_create()
|
||||||
|
return Response(serializer.data, status=status.HTTP_201_CREATED)
|
||||||
|
|
||||||
|
def retrieve(self, *args, **kwargs):
|
||||||
|
u_alias = self.get_object()
|
||||||
|
serializer = self.get_serializer(u_alias)
|
||||||
|
return Response(serializer.data)
|
||||||
|
|
||||||
|
def update(self, *args, **kwargs):
|
||||||
|
u_alias = self.get_object()
|
||||||
|
serializer = self.get_serializer(u_alias, data=self.request.data)
|
||||||
|
serializer.is_valid(raise_exception=False)
|
||||||
|
self.perform_create()
|
||||||
|
return Response(serializer.data)
|
||||||
|
|
||||||
|
def destroy(self, *args, **kwargs):
|
||||||
|
u_alias = self.get_object()
|
||||||
|
u_alias.delete()
|
||||||
|
return Response(status=status.HTTP_204_NO_CONTENT)
|
||||||
|
|
||||||
|
def perform_create(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class RunasAliaViewSet(viewsets.GenericViewSet):
|
||||||
|
queryset = RunasAlia.objects.all()
|
||||||
|
serializer_class = RunasAliaSerializer
|
||||||
|
permission_classes = None
|
||||||
|
|
||||||
|
def list(self):
|
||||||
|
r_alias = self.get_queryset()
|
||||||
|
r_serializer = self.get_serializer(r_alias, many=True)
|
||||||
|
return Response(r_serializer.data)
|
||||||
|
|
||||||
|
def create(self):
|
||||||
|
serializer = self.get_serializer(data=self.request.data)
|
||||||
|
serializer.is_valid(raise_exception=True)
|
||||||
|
self.perform_create()
|
||||||
|
return Response(serializer.data, status=status.HTTP_201_CREATED)
|
||||||
|
|
||||||
|
def retrieve(self, *args, **kwargs):
|
||||||
|
r_alias = self.get_object()
|
||||||
|
serializer = self.get_serializer(r_alias)
|
||||||
|
return Response(serializer.data)
|
||||||
|
|
||||||
|
def update(self, *args, **kwargs):
|
||||||
|
r_alias = self.get_object()
|
||||||
|
serializer = self.get_serializer(r_alias, data=self.request.data)
|
||||||
|
serializer.is_valid(raise_exception=False)
|
||||||
|
self.perform_create()
|
||||||
|
return Response(serializer.data)
|
||||||
|
|
||||||
|
def destroy(self, *args, **kwargs):
|
||||||
|
r_alias = self.get_object()
|
||||||
|
r_alias.delete()
|
||||||
|
return Response(status=status.HTTP_204_NO_CONTENT)
|
||||||
|
|
||||||
|
def perform_create(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class ExtraconfViewSet(viewsets.GenericViewSet):
|
||||||
|
queryset = Extra_conf.objects.all()
|
||||||
|
serializer_class = ExtraconfSerializer
|
||||||
|
permission_classes = None
|
||||||
|
|
||||||
|
def list(self):
|
||||||
|
e_alias = self.get_queryset()
|
||||||
|
e_serializer = self.get_serializer(e_alias, many=True)
|
||||||
|
return Response(e_serializer.data)
|
||||||
|
|
||||||
|
def create(self):
|
||||||
|
serializer = self.get_serializer(data=self.request.data)
|
||||||
|
serializer.is_valid(raise_exception=True)
|
||||||
|
self.perform_create()
|
||||||
|
return Response(serializer.data, status=status.HTTP_201_CREATED)
|
||||||
|
|
||||||
|
def retrieve(self, *args, **kwargs):
|
||||||
|
e_alias = self.get_object()
|
||||||
|
serializer = self.get_serializer(e_alias)
|
||||||
|
return Response(serializer.data)
|
||||||
|
|
||||||
|
def update(self, *args, **kwargs):
|
||||||
|
e_alias = self.get_object()
|
||||||
|
serializer = self.get_serializer(e_alias, data=self.request.data)
|
||||||
|
serializer.is_valid(raise_exception=False)
|
||||||
|
self.perform_create()
|
||||||
|
return Response(serializer.data)
|
||||||
|
|
||||||
|
def destroy(self, *args, **kwargs):
|
||||||
|
e_alias = self.get_object()
|
||||||
|
e_alias.delete()
|
||||||
|
return Response(status=status.HTTP_204_NO_CONTENT)
|
||||||
|
|
||||||
|
def perform_create(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
# ~*~ coding: utf-8 ~*~
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from rest_framework.routers import DefaultRouter
|
||||||
|
from django.conf.urls import url, include
|
||||||
|
|
||||||
|
|
||||||
|
from api import views as api_view
|
||||||
|
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)
|
||||||
|
|
||||||
|
urlpatterns = [
|
||||||
|
# Resource Sudo url
|
||||||
|
url(r'^sudo/list$', mvc_view.SudoListView.as_view(), name='sudo-list'),
|
||||||
|
url(r'^sudo/create', mvc_view.SudoCreateView(), name='sudo-create'),
|
||||||
|
url(r'^sudo/detail', mvc_view.SudoDetailView(), name='sudo-detail'),
|
||||||
|
url(r'^sudo/update', mvc_view.SudoUpdateView(), name='sudo-update'),
|
||||||
|
url(r'^sudo/delete', mvc_view.SudoDeleteView(), name='sudo-delete'),
|
||||||
|
]
|
||||||
|
|
||||||
|
urlpatterns += [
|
||||||
|
url(r'^api/ops/sudo', include(router.urls)),
|
||||||
|
]
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue