Skip to content

Commit 6ae728d

Browse files
committed
feat: List trigger task
1 parent bc2e644 commit 6ae728d

4 files changed

Lines changed: 69 additions & 1 deletion

File tree

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# coding=utf-8
2+
"""
3+
@project: MaxKB
4+
@Author:虎虎
5+
@file: trigger_task.py
6+
@date:2026/1/14 16:34
7+
@desc:
8+
"""
9+
from django.db.models import QuerySet
10+
from django.utils.translation import gettext_lazy as _
11+
from rest_framework import serializers
12+
13+
from trigger.models import TriggerTask
14+
15+
16+
class TriggerTaskResponse(serializers.ModelSerializer):
17+
class Meta:
18+
model = TriggerTask
19+
fields = "__all__"
20+
21+
22+
class TriggerTaskQuerySerializer(serializers.Serializer):
23+
trigger_id = serializers.CharField(required=True, label=_("Trigger ID"))
24+
workspace_id = serializers.CharField(required=True, label=_('workspace id'))
25+
26+
def get_query_set(self):
27+
query_set = QuerySet(TriggerTask).filter(workspace_id=self.data.get("workspace_id")).filter(
28+
trigger_id=self.data.get("trigger_id"))
29+
return query_set
30+
31+
def list(self, with_valid=True):
32+
if with_valid:
33+
self.is_valid(raise_exception=True)
34+
return [TriggerTaskResponse(row).data for row in self.get_query_set()]

apps/trigger/urls.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,5 @@
1616
path('workspace/<str:workspace_id>/trigger', views.TriggerView.as_view(), name='trigger'),
1717
path('workspace/<str:workspace_id>/trigger/<int:current_page>/<int:page_size>', views.TriggerView.Page.as_view(),
1818
name='trigger_page'),
19+
path('workspace/<str:workspace_id>/task', views.TriggerTaskView.as_view(), name='task'),
1920
]

apps/trigger/views/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@
66
@date:2026/1/9 16:15
77
@desc:
88
"""
9-
from .trigger import *
9+
from .trigger import *
10+
from .trigger_task import *

apps/trigger/views/trigger_task.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# coding=utf-8
2+
"""
3+
@project: MaxKB
4+
@Author:虎虎
5+
@file: trigger_task.py
6+
@date:2026/1/14 16:01
7+
@desc:
8+
"""
9+
from django.utils.translation import gettext_lazy as _
10+
from drf_spectacular.utils import extend_schema
11+
from rest_framework.request import Request
12+
from rest_framework.views import APIView
13+
14+
from application.api.application_api import ApplicationCreateAPI
15+
from common import result
16+
from trigger.serializers.trigger_task import TriggerTaskQuerySerializer
17+
18+
19+
class TriggerTaskView(APIView):
20+
@extend_schema(
21+
methods=['GET'],
22+
description=_('Get the task list of triggers'),
23+
summary=_('Get the task list of triggers'),
24+
operation_id=_('Get the task list of triggers'), # type: ignore
25+
parameters=ApplicationCreateAPI.get_parameters(),
26+
request=ApplicationCreateAPI.get_request(),
27+
responses=ApplicationCreateAPI.get_response(),
28+
tags=[_('Trigger')] # type: ignore
29+
)
30+
def get(self, request: Request, workspace_id: str, trigger_id: str):
31+
return result.success(
32+
TriggerTaskQuerySerializer(data={'workspace_id': workspace_id, 'trigger_id': trigger_id}).list())

0 commit comments

Comments
 (0)