Skip to content

Commit e538976

Browse files
committed
Add fixed packages in packages endpoint
Signed-off-by: Tushar Goel <[email protected]>
1 parent 59406a5 commit e538976

File tree

3 files changed

+20
-0
lines changed

3 files changed

+20
-0
lines changed

vulnerabilities/api.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ def to_representation(self, instance):
106106
fixing_vulnerabilities = MinimalVulnerabilitySerializer(
107107
many=True, source="resolved_to", read_only=True
108108
)
109+
fixed_packages = MinimalPackageSerializer(many=True, read_only=True)
109110

110111
class Meta:
111112
model = Package
@@ -119,6 +120,7 @@ class Meta:
119120
"qualifiers",
120121
"subpath",
121122
"affected_by_vulnerabilities",
123+
"fixed_packages",
122124
"fixing_vulnerabilities",
123125
]
124126

vulnerabilities/models.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,23 @@ def resolved_to(self):
193193
"""
194194
return self.vulnerabilities.filter(packagerelatedvulnerability__fix=True)
195195

196+
@property
197+
def fixed_packages(self):
198+
"""
199+
Returns vulnerabilities which are affecting this package.
200+
"""
201+
return (
202+
Package.objects.filter(
203+
name=self.name,
204+
namespace=self.namespace,
205+
type=self.type,
206+
qualifiers=self.qualifiers,
207+
subpath=self.subpath,
208+
)
209+
.filter(packagerelatedvulnerability__fix=True)
210+
.distinct()
211+
)
212+
196213
def set_package_url(self, package_url):
197214
"""
198215
Set each field values to the values of the provided `package_url` string

vulnerabilities/tests/test_fix_api.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ def test_api_with_single_vulnerability(self):
9191
"unresolved_vulnerabilities": [],
9292
"qualifiers": {},
9393
"subpath": "",
94+
"fixed_packages": [],
9495
"affected_by_vulnerabilities": [],
9596
"fixing_vulnerabilities": [],
9697
}

0 commit comments

Comments
 (0)