|
8 | 8 | """ |
9 | 9 | from django.utils.translation import gettext_lazy as _ |
10 | 10 | from drf_spectacular.utils import extend_schema |
11 | | -from rest_framework import serializers |
12 | 11 | from rest_framework.request import Request |
13 | 12 | from rest_framework.views import APIView |
14 | 13 |
|
15 | 14 | from application.api.application_api import ApplicationCreateAPI |
16 | 15 | from common import result |
17 | 16 | from common.auth import TokenAuth |
18 | | -from trigger.serializers.trigger import TriggerSerializer, TriggerQuerySerializer, TriggerOperateSerializer |
19 | | -from common.auth.authentication import has_permissions, get_is_permissions |
20 | | -from common.constants.permission_constants import PermissionConstants, RoleConstants, ViewPermission, CompareConstants |
21 | | -from common.log.log import log |
22 | | -from tools.api.tool import GetInternalToolAPI |
23 | | -from trigger.api.trigger import TriggerCreateAPI, TriggerOperateAPI, TriggerEditAPI |
| 17 | +from trigger.serializers.trigger import TriggerQuerySerializer, TriggerOperateSerializer |
| 18 | + |
| 19 | +from trigger.api.trigger import TriggerCreateAPI, TriggerOperateAPI, TriggerEditAPI, TriggerBatchDeleteAPI, \ |
| 20 | + TriggerBatchActiveAPI |
24 | 21 | from trigger.serializers.trigger import TriggerSerializer |
25 | 22 |
|
26 | 23 |
|
@@ -102,7 +99,41 @@ def delete(self, request: Request, workspace_id: str, trigger_id: str): |
102 | 99 | data={'trigger_id': trigger_id, 'workspace_id': workspace_id, 'user_id': request.user.id} |
103 | 100 | ).delete()) |
104 | 101 |
|
| 102 | + class BatchDelete(APIView): |
| 103 | + authentication_classes = [TokenAuth] |
| 104 | + |
| 105 | + @extend_schema( |
| 106 | + methods=['PUT'], |
| 107 | + description=_('Delete trigger in batches'), |
| 108 | + summary=_('Delete trigger in batches'), |
| 109 | + operation_id=_('Delete trigger in batches'), # type: ignore |
| 110 | + parameters=TriggerBatchDeleteAPI.get_parameters(), |
| 111 | + request=TriggerBatchDeleteAPI.get_request(), |
| 112 | + responses=result.DefaultResultSerializer, |
| 113 | + tags=[_('Trigger')] # type: ignore |
| 114 | + ) |
| 115 | + def put(self, request: Request, workspace_id: str): |
| 116 | + return result.success(TriggerSerializer.Batch( |
| 117 | + data={'workspace_id': workspace_id, 'user_id': request.user.id} |
| 118 | + ).batch_delete(request.data)) |
105 | 119 |
|
| 120 | + class BatchActivate(APIView): |
| 121 | + authentication_classes = [TokenAuth] |
| 122 | + |
| 123 | + @extend_schema( |
| 124 | + methods=['PUT'], |
| 125 | + description=_('Activate trigger in batches'), |
| 126 | + summary=_('Activate trigger in batches'), |
| 127 | + operation_id=_('Activate trigger in batches'), # type: ignore |
| 128 | + parameters=TriggerBatchDeleteAPI.get_parameters(), |
| 129 | + request=TriggerBatchActiveAPI.get_request(), |
| 130 | + responses=result.DefaultResultSerializer, |
| 131 | + tags=[_('Trigger')] # type: ignore |
| 132 | + ) |
| 133 | + def put(self, request: Request, workspace_id: str): |
| 134 | + return result.success(TriggerSerializer.Batch( |
| 135 | + data={'workspace_id': workspace_id, 'user_id': request.user.id} |
| 136 | + ).batch_switch(request.data)) |
106 | 137 |
|
107 | 138 | class Page(APIView): |
108 | 139 | authentication_classes = [TokenAuth] |
|
0 commit comments