Skip to content

Commit 6c6cf7c

Browse files
committed
Add aliases at package endpoint
Signed-off-by: Tushar Goel <tushar.goel.dav@gmail.com>
1 parent b2397b6 commit 6c6cf7c

2 files changed

Lines changed: 23 additions & 16 deletions

File tree

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_fix_api.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ def setUp(self):
140140
vuln1 = Vulnerability.objects.create(
141141
summary="test-vuln1",
142142
)
143+
alias = Alias.objects.create(alias="CVE-2019-1234", vulnerability=vuln1)
143144
self.vuln1 = vuln1
144145
PackageRelatedVulnerability.objects.create(
145146
package=self.package,
@@ -184,6 +185,7 @@ def test_api_with_single_vulnerability_and_fixed_package(self):
184185
"summary": "test-vuln1",
185186
"references": [],
186187
"fixed_packages": [],
188+
"aliases": [{"alias": "CVE-2019-1234"}],
187189
}
188190
],
189191
"fixing_vulnerabilities": [
@@ -199,6 +201,7 @@ def test_api_with_single_vulnerability_and_fixed_package(self):
199201
"is_vulnerable": True,
200202
}
201203
],
204+
"aliases": [],
202205
},
203206
],
204207
"unresolved_vulnerabilities": [
@@ -208,6 +211,7 @@ def test_api_with_single_vulnerability_and_fixed_package(self):
208211
"summary": "test-vuln1",
209212
"references": [],
210213
"fixed_packages": [],
214+
"aliases": [{"alias": "CVE-2019-1234"}],
211215
}
212216
],
213217
}
@@ -236,6 +240,7 @@ def test_api_with_single_vulnerability_and_vulnerable_package(self):
236240
"is_vulnerable": True,
237241
}
238242
],
243+
"aliases": [],
239244
}
240245
],
241246
"fixing_vulnerabilities": [],
@@ -252,6 +257,7 @@ def test_api_with_single_vulnerability_and_vulnerable_package(self):
252257
"is_vulnerable": True,
253258
}
254259
],
260+
"aliases": [],
255261
}
256262
],
257263
}

0 commit comments

Comments
 (0)