diff --git a/apps/jumpserver/api_router.py b/apps/jumpserver/api_router.py new file mode 100644 index 000000000..c1fe2e087 --- /dev/null +++ b/apps/jumpserver/api_router.py @@ -0,0 +1,12 @@ +from rest_framework.routers import DefaultRouter +from ops.api import views as ops_api_view + +router = DefaultRouter() +router.register(r'host_alia', ops_api_view.HostAliaViewSet) +router.register(r'user_alia', ops_api_view.UserAliaViewSet) +router.register(r'cmd_alia', ops_api_view.CmdAliaViewSet) +router.register(r'runas_alia', ops_api_view.RunasAliaViewSet) +router.register(r'extra_conf', ops_api_view.ExtraconfViewSet) +router.register(r'privilege', ops_api_view.PrivilegeViewSet) +router.register(r'sudo', ops_api_view.SudoViewSet) +router.register(r'cron', ops_api_view.CronTableViewSet) \ No newline at end of file diff --git a/apps/jumpserver/urls.py b/apps/jumpserver/urls.py index 846844096..041372aca 100644 --- a/apps/jumpserver/urls.py +++ b/apps/jumpserver/urls.py @@ -1,3 +1,6 @@ +# ~*~ coding: utf-8 ~*~ +from __future__ import unicode_literals + """jumpserver URL Configuration The `urlpatterns` list routes URLs to views. For more information please see: @@ -17,12 +20,12 @@ from django.conf.urls import url, include from django.conf import settings from django.conf.urls.static import static from django.views.generic.base import TemplateView +from jumpserver.api_router import router urlpatterns = [ url(r'^captcha/', include('captcha.urls')), url(r'^$', TemplateView.as_view(template_name='base.html'), name='index'), - url(r'^users/', include('users.urls.views_urls', namespace='users')), url(r'^assets/', include('assets.urls.views_urls', namespace='assets')), url(r'^perms/', include('perms.urls.views_urls', namespace='perms')), @@ -33,13 +36,14 @@ urlpatterns = [ url(r'^api/perms/', include('perms.urls.api_urls', namespace='api-perms')), url(r'^api/audits/', include('audits.urls.api_urls', namespace='api-audits')), url(r'^api/terminal/', include('terminal.urls.api_urls', namespace='api-terminal')), - 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')), + ] +urlpatterns += [ + url(r'^api/v1/ops', include(router.urls)), +] + if settings.DEBUG: urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) diff --git a/apps/ops/urls.py b/apps/ops/urls.py index 2735b1202..830d6b27a 100644 --- a/apps/ops/urls.py +++ b/apps/ops/urls.py @@ -1,25 +1,13 @@ # ~*~ 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 +from django.conf.urls import url import views as page_view app_name = 'ops' -router = DefaultRouter() -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) -router.register(r'cron', api_view.CronTableViewSet) urlpatterns = [ # Resource Sudo url @@ -35,8 +23,5 @@ urlpatterns = [ url(r'^cron/update$', page_view.CronUpdateView.as_view(), name='page-cron-update'), ] -urlpatterns += [ - url(r'^v1/sudo', include(router.urls)), -] diff --git a/run_server.py b/run_server.py index d5a987306..c3d3c9c9e 100644 --- a/run_server.py +++ b/run_server.py @@ -30,7 +30,7 @@ def start_celery(): os.chdir(apps_dir) os.environ.setdefault('C_FORCE_ROOT', '1') print('start celery') - subprocess.call('celery -A common worker -P eventlet -B -s /tmp/celerybeat-schedule -l info ', shell=True) + subprocess.call('celery -A common worker -P eventlet -s /tmp/celerybeat-schedule -l info ', shell=True) def main():