Skip to content

Commit c8a6320

Browse files
committed
Add fixed packages in packages endpoint
Signed-off-by: Tushar Goel <tushar.goel.dav@gmail.com>
1 parent c94ed57 commit c8a6320

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-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: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,20 @@ def resolved_to(self):
193193
"""
194194
return self.vulnerabilities.filter(packagerelatedvulnerability__fix=True)
195195

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

0 commit comments

Comments
 (0)