From 2b4f8bd11c69b70cc930685849c73f1e756d64e5 Mon Sep 17 00:00:00 2001 From: xinwen Date: Wed, 4 Nov 2020 14:53:49 +0800 Subject: [PATCH] =?UTF-8?q?feat(ops):=20Task=20=E6=94=AF=E6=8C=81=E6=89=B9?= =?UTF-8?q?=E9=87=8F=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/ops/api/adhoc.py | 3 ++- apps/ops/serializers/adhoc.py | 3 ++- apps/ops/urls/api_urls.py | 6 +++++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/apps/ops/api/adhoc.py b/apps/ops/api/adhoc.py index aef4c9b06..586415c20 100644 --- a/apps/ops/api/adhoc.py +++ b/apps/ops/api/adhoc.py @@ -5,6 +5,7 @@ from django.shortcuts import get_object_or_404 from rest_framework import viewsets, generics from rest_framework.views import Response +from common.drf.api import JMSBulkModelViewSet from common.permissions import IsOrgAdmin from common.serializers import CeleryTaskSerializer from ..models import Task, AdHoc, AdHocExecution @@ -22,7 +23,7 @@ __all__ = [ ] -class TaskViewSet(viewsets.ModelViewSet): +class TaskViewSet(JMSBulkModelViewSet): queryset = Task.objects.all() filter_fields = ("name",) search_fields = filter_fields diff --git a/apps/ops/serializers/adhoc.py b/apps/ops/serializers/adhoc.py index f07c1ca47..c3a660e37 100644 --- a/apps/ops/serializers/adhoc.py +++ b/apps/ops/serializers/adhoc.py @@ -3,6 +3,7 @@ from __future__ import unicode_literals from rest_framework import serializers from django.shortcuts import reverse +from orgs.mixins.serializers import BulkOrgResourceModelSerializer from ..models import Task, AdHoc, AdHocExecution, CommandExecution @@ -45,7 +46,7 @@ class AdHocExecutionExcludeResultSerializer(AdHocExecutionSerializer): ] -class TaskSerializer(serializers.ModelSerializer): +class TaskSerializer(BulkOrgResourceModelSerializer): summary = serializers.ReadOnlyField(source='history_summary') latest_execution = AdHocExecutionExcludeResultSerializer(read_only=True) diff --git a/apps/ops/urls/api_urls.py b/apps/ops/urls/api_urls.py index 366524aa4..15010923b 100644 --- a/apps/ops/urls/api_urls.py +++ b/apps/ops/urls/api_urls.py @@ -3,13 +3,16 @@ from __future__ import unicode_literals from django.urls import path from rest_framework.routers import DefaultRouter +from rest_framework_bulk.routes import BulkRouter from .. import api app_name = "ops" router = DefaultRouter() -router.register(r'tasks', api.TaskViewSet, 'task') +bulk_router = BulkRouter() + +bulk_router.register(r'tasks', api.TaskViewSet, 'task') router.register(r'adhoc', api.AdHocViewSet, 'adhoc') router.register(r'adhoc-executions', api.AdHocRunHistoryViewSet, 'execution') router.register(r'command-executions', api.CommandExecutionViewSet, 'command-execution') @@ -22,3 +25,4 @@ urlpatterns = [ ] urlpatterns += router.urls +urlpatterns += bulk_router.urls