File tree Expand file tree Collapse file tree 3 files changed +20
-0
lines changed Expand file tree Collapse file tree 3 files changed +20
-0
lines changed Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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 }
You can’t perform that action at this time.
0 commit comments