diff --git a/CHANGES/+provenance-filter.bugfix b/CHANGES/+provenance-filter.bugfix new file mode 100644 index 00000000..4ca8c762 --- /dev/null +++ b/CHANGES/+provenance-filter.bugfix @@ -0,0 +1,2 @@ +Added missing Provenance content `package` and `sha256` filters. + diff --git a/pulp_python/app/viewsets.py b/pulp_python/app/viewsets.py index f5d34f06..a14f1fe3 100644 --- a/pulp_python/app/viewsets.py +++ b/pulp_python/app/viewsets.py @@ -428,6 +428,19 @@ def upload(self, request): return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers) +class PackageProvenanceFilter(core_viewsets.ContentFilter): + """ + FilterSet for PackageProvenance. + """ + + class Meta: + model = python_models.PackageProvenance + fields = { + "package": ["exact", "in"], + "sha256": ["exact", "in"], + } + + class PackageProvenanceViewSet(core_viewsets.NoArtifactContentUploadViewSet): """ PackageProvenance represents a PEP 740 provenance object for a Python package. @@ -438,6 +451,7 @@ class PackageProvenanceViewSet(core_viewsets.NoArtifactContentUploadViewSet): endpoint_name = "provenance" queryset = python_models.PackageProvenance.objects.all() serializer_class = python_serializers.PackageProvenanceSerializer + filterset_class = PackageProvenanceFilter DEFAULT_ACCESS_POLICY = { "statements": [