|
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