|
2 | 2 |
|
3 | 3 | import django_rq |
4 | 4 | from django.conf import settings |
| 5 | +from django_rq.views import get_statistics |
| 6 | +from drf_spectacular.types import OpenApiTypes |
| 7 | +from drf_spectacular.utils import extend_schema |
| 8 | +from netbox.api.authentication import IsAuthenticatedOrLoginNotRequired |
5 | 9 | from netbox.api.viewsets import NetBoxModelViewSet, NetBoxReadOnlyModelViewSet |
6 | 10 | from rest_framework import status as http_status |
| 11 | +from rest_framework import viewsets |
7 | 12 | from rest_framework.decorators import action |
8 | 13 | from rest_framework.exceptions import PermissionDenied |
9 | 14 | from rest_framework.response import Response |
10 | 15 | from rest_framework.routers import APIRootView |
| 16 | +from rest_framework.views import APIView |
11 | 17 | from utilities.permissions import get_permission_for_model |
12 | 18 | from utilities.utils import copy_safe_request |
13 | 19 |
|
@@ -155,3 +161,11 @@ class ScriptArtifactViewSet(NetBoxModelViewSet): |
155 | 161 | queryset = ScriptArtifact.objects.all() |
156 | 162 | serializer_class = ScriptArtifactSerializer |
157 | 163 | filterset_class = ScriptArtifactFilterSet |
| 164 | + |
| 165 | + |
| 166 | +class RqStatusViewSet(viewsets.ViewSet): |
| 167 | + permission_classes = [IsAuthenticatedOrLoginNotRequired] |
| 168 | + |
| 169 | + @extend_schema(responses={200: OpenApiTypes.OBJECT}) |
| 170 | + def list(self, request): |
| 171 | + return Response(get_statistics()) |
0 commit comments