#!/usr/bin/env python # -*- coding: utf-8 -*- # from django.urls import path, include, re_path from rest_framework_bulk.routes import BulkRouter from common import api as capi from .. import api app_name = 'terminal' router = BulkRouter() router.register(r'sessions', api.SessionViewSet, 'session') router.register(r'terminals/(?P[a-zA-Z0-9\-]{36})?/?status', api.StatusViewSet, 'terminal-status') router.register(r'terminals/(?P[a-zA-Z0-9\-]{36})?/?sessions', api.SessionViewSet, 'terminal-sessions') router.register(r'terminals', api.TerminalViewSet, 'terminal') router.register(r'tasks', api.TaskViewSet, 'tasks') router.register(r'commands', api.CommandViewSet, 'command') router.register(r'status', api.StatusViewSet, 'status') urlpatterns = [ path('sessions//replay/', api.SessionReplayViewSet.as_view({'get': 'retrieve', 'post': 'create'}), name='session-replay'), path('tasks/kill-session/', api.KillSessionAPI.as_view(), name='kill-session'), path('terminals//access-key/', api.TerminalTokenApi.as_view(), name='terminal-access-key'), path('terminals/config/', api.TerminalConfig.as_view(), name='terminal-config'), path('commands/export/', api.CommandExportApi.as_view(), name="command-export") # v2: get session's replay # path('v2/sessions//replay/', # api.SessionReplayV2ViewSet.as_view({'get': 'retrieve'}), # name='session-replay-v2'), ] old_version_urlpatterns = [ re_path('(?Pterminal|command)/.*', capi.redirect_plural_name_api) ] urlpatterns += router.urls + old_version_urlpatterns