@@ -113,7 +113,6 @@ class AdvisoryV3Serializer(serializers.ModelSerializer):
113113 weaknesses = AdvisoryWeaknessSerializer (many = True )
114114 references = AdvisoryReferenceSerializer (many = True )
115115 severities = AdvisorySeveritySerializer (many = True )
116- advisory_id = serializers .CharField (source = "avid" , read_only = True )
117116 related_ssvc_trees = serializers .SerializerMethodField ()
118117
119118 def get_related_ssvc_trees (self , obj ):
@@ -142,7 +141,7 @@ def get_related_ssvc_trees(self, obj):
142141 class Meta :
143142 model = AdvisoryV2
144143 fields = [
145- "advisory_id " ,
144+ "avid " ,
146145 "url" ,
147146 "aliases" ,
148147 "summary" ,
@@ -226,8 +225,7 @@ def get_affected_by_vulnerabilities(self, package):
226225 result = []
227226
228227 for adv in advisories :
229- fixed = impact_map .get (adv ["avid" ])
230- adv .pop ("avid" , None )
228+ fixed = impact_map .get (adv ["avid" ]) or []
231229 resource_url = None
232230
233231 if request := self .context .get ("request" , None ):
@@ -292,6 +290,7 @@ def get_affected_by_vulnerabilities(self, package):
292290
293291 result .append (
294292 {
293+ "avid" : advisory .avid ,
295294 "advisory_id" : advisory .advisory_id .split ("/" )[- 1 ],
296295 "aliases" : [alias .alias for alias in advisory .aliases .all ()],
297296 "summary" : advisory .summary ,
@@ -336,6 +335,7 @@ def get_fixing_vulnerabilities(self, package):
336335 {
337336 "advisory_id" : advisory ["advisory_id" ],
338337 "resource_url" : resource_url ,
338+ "avid" : advisory ["avid" ],
339339 }
340340 )
341341 if results :
@@ -359,6 +359,7 @@ def get_fixing_vulnerabilities(self, package):
359359 {
360360 "advisory_id" : advisory .advisory_id .split ("/" )[- 1 ],
361361 "resource_url" : resource_url ,
362+ "avid" : advisory .avid ,
362363 }
363364 )
364365 return results
@@ -389,6 +390,7 @@ def return_fixing_advisories_data(self, advisories):
389390 {
390391 "advisory_id" : advisory .identifier ,
391392 "resource_url" : resource_url ,
393+ "avid" : advisory .advisory .avid ,
392394 }
393395 )
394396
@@ -416,12 +418,13 @@ def return_advisories_data(self, package, advisories_qs, advisories):
416418 location = advisory .advisory .get_absolute_url ()
417419 )
418420 impact = impact_by_avid .get (advisory .advisory .avid )
419- if not impact :
421+ if impact :
420422 fixed_by_packages = list (set ([pkg .purl for pkg in impact .fixed_by_packages .all ()]))
421423
422424 result .append (
423425 {
424426 "advisory_id" : advisory .identifier ,
427+ "avid" : advisory .advisory .avid ,
425428 "aliases" : [alias .alias for alias in advisory .aliases ],
426429 "weighted_severity" : advisory .weighted_severity ,
427430 "exploitability" : advisory .exploitability ,
@@ -542,7 +545,7 @@ def get_fixed_by_packages(self, obj):
542545 class Meta :
543546 model = AdvisoryV2
544547 fields = [
545- "advisory_id " ,
548+ "avid " ,
546549 "url" ,
547550 "aliases" ,
548551 "summary" ,
@@ -801,6 +804,7 @@ def get_fixing_advisories_bulk(packages):
801804 {
802805 "advisory_id" : advisory .advisory_id .split ("/" )[- 1 ],
803806 "resource_url" : advisory .get_absolute_url (),
807+ "avid" : advisory .avid ,
804808 }
805809 )
806810
0 commit comments