|
20 | 20 | from django.db.models import Prefetch |
21 | 21 | from django.db.models import Q |
22 | 22 | from django_filters import rest_framework as filters |
| 23 | +from drf_spectacular.types import OpenApiTypes |
| 24 | +from drf_spectacular.utils import OpenApiParameter |
23 | 25 | from drf_spectacular.utils import extend_schema |
24 | 26 | from packageurl import PackageURL |
| 27 | +from rest_framework import mixins |
25 | 28 | from rest_framework import serializers |
26 | 29 | from rest_framework import viewsets |
27 | 30 | from rest_framework.response import Response |
@@ -496,10 +499,28 @@ def create(self, request, *args, **kwargs): |
496 | 499 | return self.get_paginated_response(serializer.data) |
497 | 500 |
|
498 | 501 |
|
499 | | -class PackageAdvisoriesViewSet(viewsets.ReadOnlyModelViewSet): |
| 502 | +class PackageAdvisoriesViewSet( |
| 503 | + mixins.ListModelMixin, |
| 504 | + viewsets.GenericViewSet, |
| 505 | +): |
500 | 506 | serializer_class = AdvisoryV3Serializer |
501 | 507 | relation = None |
502 | 508 | throttle_classes = [AnonRateThrottle, PermissionBasedUserRateThrottle] |
| 509 | + filter_backends = [] |
| 510 | + |
| 511 | + @extend_schema( |
| 512 | + parameters=[ |
| 513 | + OpenApiParameter( |
| 514 | + name="purl", |
| 515 | + type=OpenApiTypes.STR, |
| 516 | + location=OpenApiParameter.QUERY, |
| 517 | + description="Package-URL (PURL) to query.", |
| 518 | + required=True, |
| 519 | + ), |
| 520 | + ] |
| 521 | + ) |
| 522 | + def list(self, request, *args, **kwargs): |
| 523 | + return super().list(request, *args, **kwargs) |
503 | 524 |
|
504 | 525 | def get_queryset(self): |
505 | 526 | purl = self.request.query_params.get("purl") |
|
0 commit comments