@ -1,4 +1,3 @@
|
||||
from drf_spectacular.utils import OpenApiParameter, extend_schema
|
||||
from rest_framework.mixins import (
|
||||
ListModelMixin,
|
||||
RetrieveModelMixin,
|
||||
@ -8,7 +7,6 @@ from rest_framework.viewsets import GenericViewSet
|
||||
from authentik.core.api.utils import ModelSerializer
|
||||
from authentik.events.logs import LogEventSerializer
|
||||
from authentik.tasks.models import Task
|
||||
from authentik.tasks.schedules.models import Schedule
|
||||
from authentik.tenants.utils import get_current_tenant
|
||||
|
||||
|
||||
@ -27,6 +25,7 @@ class TaskSerializer(ModelSerializer):
|
||||
"rel_obj_id",
|
||||
"uid",
|
||||
"messages",
|
||||
"aggregated_status",
|
||||
]
|
||||
|
||||
|
||||
@ -42,27 +41,15 @@ class TaskViewSet(
|
||||
"queue_name",
|
||||
"actor_name",
|
||||
"state",
|
||||
"aggregated_status",
|
||||
)
|
||||
filterset_fields = (
|
||||
"queue_name",
|
||||
"actor_name",
|
||||
"state",
|
||||
"aggregated_status",
|
||||
)
|
||||
ordering = (
|
||||
"actor_name",
|
||||
"-mtime",
|
||||
)
|
||||
ordering = ("-mtime",)
|
||||
|
||||
def get_queryset(self):
|
||||
qs = Task.objects.filter(tenant=get_current_tenant())
|
||||
if self.request.query_params.get("exclude_scheduled", "false").lower() == "true":
|
||||
qs = qs.exclude(schedule_uid__in=Schedule.objects.all().values_list("uid", flat=True))
|
||||
return qs
|
||||
|
||||
@extend_schema(
|
||||
parameters=[
|
||||
OpenApiParameter("exclude_scheduled", bool, default=False),
|
||||
]
|
||||
)
|
||||
def list(self, *args, **kwargs):
|
||||
return super().list(*args, **kwargs)
|
||||
return Task.objects.filter(tenant=get_current_tenant())
|
||||
|
||||
@ -64,6 +64,9 @@ class Task(SerializerModel):
|
||||
verbose_name = _("Task")
|
||||
verbose_name_plural = _("Tasks")
|
||||
default_permissions = ("view",)
|
||||
permissions = [
|
||||
("retrigger_task", _("Restart failed task")),
|
||||
]
|
||||
indexes = (
|
||||
models.Index(fields=("state", "mtime")),
|
||||
models.Index(fields=("rel_obj_content_type", "rel_obj_id")),
|
||||
|
||||
Reference in New Issue
Block a user