Skip to content

Commit 639bbf8

Browse files
committed
Add aliases at package endpoint
Signed-off-by: Tushar Goel <[email protected]>
1 parent d0414eb commit 639bbf8

File tree

2 files changed

+23
-16
lines changed

2 files changed

+23
-16
lines changed

vulnerabilities/api.py

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -53,22 +53,6 @@ class Meta:
5353
fields = ["url", "purl", "is_vulnerable"]
5454

5555

56-
class VulnSerializerRefsAndSummary(serializers.HyperlinkedModelSerializer):
57-
"""
58-
Lookup vulnerabilities references by aliases (such as a CVE).
59-
"""
60-
61-
fixed_packages = MinimalPackageSerializer(
62-
many=True, source="filtered_fixed_packages", read_only=True
63-
)
64-
65-
references = VulnerabilityReferenceSerializer(many=True, source="vulnerabilityreference_set")
66-
67-
class Meta:
68-
model = Vulnerability
69-
fields = ["url", "vulnerability_id", "summary", "references", "fixed_packages"]
70-
71-
7256
class MinimalVulnerabilitySerializer(serializers.HyperlinkedModelSerializer):
7357
"""
7458
Lookup vulnerabilities by aliases (such as a CVE).
@@ -89,6 +73,23 @@ class Meta:
8973
fields = ["alias"]
9074

9175

76+
class VulnSerializerRefsAndSummary(serializers.HyperlinkedModelSerializer):
77+
"""
78+
Lookup vulnerabilities references by aliases (such as a CVE).
79+
"""
80+
81+
fixed_packages = MinimalPackageSerializer(
82+
many=True, source="filtered_fixed_packages", read_only=True
83+
)
84+
85+
references = VulnerabilityReferenceSerializer(many=True, source="vulnerabilityreference_set")
86+
aliases = AliasSerializer(many=True, source="alias")
87+
88+
class Meta:
89+
model = Vulnerability
90+
fields = ["url", "vulnerability_id", "summary", "references", "fixed_packages", "aliases"]
91+
92+
9293
class VulnerabilitySerializer(serializers.HyperlinkedModelSerializer):
9394

9495
fixed_packages = MinimalPackageSerializer(

vulnerabilities/tests/test_api.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,7 @@ def setUp(self):
296296
vuln1 = Vulnerability.objects.create(
297297
summary="test-vuln1",
298298
)
299+
alias = Alias.objects.create(alias="CVE-2019-1234", vulnerability=vuln1)
299300
self.vuln1 = vuln1
300301
PackageRelatedVulnerability.objects.create(
301302
package=self.package,
@@ -340,6 +341,7 @@ def test_api_with_single_vulnerability_and_fixed_package(self):
340341
"summary": "test-vuln1",
341342
"references": [],
342343
"fixed_packages": [],
344+
"aliases": [{"alias": "CVE-2019-1234"}],
343345
}
344346
],
345347
"fixing_vulnerabilities": [
@@ -355,6 +357,7 @@ def test_api_with_single_vulnerability_and_fixed_package(self):
355357
"is_vulnerable": True,
356358
}
357359
],
360+
"aliases": [],
358361
},
359362
],
360363
"unresolved_vulnerabilities": [
@@ -364,6 +367,7 @@ def test_api_with_single_vulnerability_and_fixed_package(self):
364367
"summary": "test-vuln1",
365368
"references": [],
366369
"fixed_packages": [],
370+
"aliases": [{"alias": "CVE-2019-1234"}],
367371
}
368372
],
369373
}
@@ -392,6 +396,7 @@ def test_api_with_single_vulnerability_and_vulnerable_package(self):
392396
"is_vulnerable": True,
393397
}
394398
],
399+
"aliases": [],
395400
}
396401
],
397402
"fixing_vulnerabilities": [],
@@ -408,6 +413,7 @@ def test_api_with_single_vulnerability_and_vulnerable_package(self):
408413
"is_vulnerable": True,
409414
}
410415
],
416+
"aliases": [],
411417
}
412418
],
413419
}

0 commit comments

Comments
 (0)