Skip to content
Closed

Fix API #1514

Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 12 additions & 6 deletions vulnerabilities/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,16 @@ def get_resource_url(self, instance):

return resource_url

class PurlPackageSerializer(BaseResourceSerializer):

class MinimalPackageSerializer(BaseResourceSerializer):
purl = serializers.CharField(source="package_url")

class Meta:
model = Package
fields = ["url", "purl", "is_vulnerable"]


class MinimalPackageSerializer(PurlPackageSerializer):
"""
Used for nesting inside vulnerability focused APIs.
"""
Expand All @@ -99,8 +107,6 @@ def get_vulnerability(self, vuln):

affected_by_vulnerabilities = serializers.SerializerMethodField("get_affected_vulnerabilities")

purl = serializers.CharField(source="package_url")

class Meta:
model = Package
fields = ["url", "purl", "is_vulnerable", "affected_by_vulnerabilities"]
Expand Down Expand Up @@ -137,7 +143,7 @@ def to_representation(self, instance):
data["aliases"] = aliases
return data

fixed_packages = MinimalPackageSerializer(
fixed_packages = PurlPackageSerializer(
many=True, source="filtered_fixed_packages", read_only=True
)

Expand Down Expand Up @@ -175,10 +181,10 @@ class Meta:


class VulnerabilitySerializer(BaseResourceSerializer):
fixed_packages = MinimalPackageSerializer(
fixed_packages = PurlPackageSerializer(
many=True, source="filtered_fixed_packages", read_only=True
)
affected_packages = MinimalPackageSerializer(many=True, read_only=True)
affected_packages = PurlPackageSerializer(many=True, read_only=True)

references = VulnerabilityReferenceSerializer(many=True, source="vulnerabilityreference_set")
aliases = AliasSerializer(many=True, source="alias")
Expand Down