diff --git a/CHANGES/8264.bugfix b/CHANGES/8264.bugfix new file mode 100644 index 000000000..4ad5f071e --- /dev/null +++ b/CHANGES/8264.bugfix @@ -0,0 +1 @@ +Removing ``manifest``and ``files`` from metadata endpoints. diff --git a/pulp_ansible/app/galaxy/v3/serializers.py b/pulp_ansible/app/galaxy/v3/serializers.py index 62aa5f717..7c4a8b606 100644 --- a/pulp_ansible/app/galaxy/v3/serializers.py +++ b/pulp_ansible/app/galaxy/v3/serializers.py @@ -88,8 +88,6 @@ class CollectionVersionListSerializer(serializers.ModelSerializer): href = serializers.SerializerMethodField() created_at = serializers.DateTimeField(source="collection.pulp_created") updated_at = serializers.DateTimeField(source="collection.pulp_last_updated") - manifest = serializers.DictField(help_text="A JSON field holding MANIFEST.json data.") - files = serializers.DictField(help_text="A JSON field holding FILES.json data.") class Meta: fields = ( @@ -97,8 +95,6 @@ class Meta: "href", "created_at", "updated_at", - "manifest", - "files", "requires_ansible", ) model = models.CollectionVersion @@ -174,9 +170,9 @@ class CollectionNamespaceSerializer(serializers.Serializer): name = serializers.CharField(source="namespace") -class CollectionVersionSerializer(CollectionVersionListSerializer): +class UnpaginatedCollectionVersionSerializer(CollectionVersionListSerializer): """ - A serializer for a CollectionVersion. + A serializer for unpaginated CollectionVersion. """ collection = CollectionRefSerializer(read_only=True) @@ -186,7 +182,8 @@ class CollectionVersionSerializer(CollectionVersionListSerializer): metadata = CollectionMetadataSerializer(source="*", read_only=True) namespace = CollectionNamespaceSerializer(source="*", read_only=True) - class Meta(CollectionVersionListSerializer.Meta): + class Meta: + model = models.CollectionVersion fields = CollectionVersionListSerializer.Meta.fields + ( "artifact", "collection", @@ -214,6 +211,24 @@ def get_download_url(self, obj) -> str: return download_url +class CollectionVersionSerializer(UnpaginatedCollectionVersionSerializer): + """ + A serializer for a CollectionVersion. + """ + + manifest = serializers.DictField( + help_text="A JSON field holding MANIFEST.json data.", read_only=True + ) + files = serializers.DictField(help_text="A JSON field holding FILES.json data.", read_only=True) + + class Meta: + model = models.CollectionVersion + fields = UnpaginatedCollectionVersionSerializer.Meta.fields + ( + "manifest", + "files", + ) + + class CollectionVersionDocsSerializer(serializers.ModelSerializer): """A serializer to display the docs_blob of a CollectionVersion.""" diff --git a/pulp_ansible/app/galaxy/v3/views.py b/pulp_ansible/app/galaxy/v3/views.py index c0ff9f479..975602a0c 100644 --- a/pulp_ansible/app/galaxy/v3/views.py +++ b/pulp_ansible/app/galaxy/v3/views.py @@ -29,6 +29,7 @@ CollectionVersionDocsSerializer, CollectionVersionListSerializer, RepoMetadataSerializer, + UnpaginatedCollectionVersionSerializer, ) from pulp_ansible.app.models import ( AnsibleCollectionDeprecated, @@ -424,6 +425,7 @@ def list(self, request, *args, **kwargs): class UnpaginatedCollectionVersionViewSet(CollectionVersionViewSet): """Unpaginated ViewSet for CollectionVersions.""" + serializer_class = UnpaginatedCollectionVersionSerializer pagination_class = None def get_queryset(self):