@@ -204,8 +204,8 @@ def get_affected_by_vulnerabilities(self, package):
204204 advisories_qs = AdvisoryV2 .objects .latest_affecting_advisories_for_purl (package .package_url )
205205
206206 advisories = list (advisories_qs [:101 ])
207- if len (advisories ) > 100 :
208- return None
207+ # if len(advisories) > 100:
208+ # return None
209209
210210 advisory_by_avid = {adv .avid : adv for adv in advisories }
211211 avids = advisory_by_avid .keys ()
@@ -241,8 +241,8 @@ def get_fixing_vulnerabilities(self, package):
241241 advisories_qs = AdvisoryV2 .objects .latest_fixed_by_advisories_for_purl (package .package_url )
242242
243243 advisories = list (advisories_qs [:101 ])
244- if len (advisories ) > 100 :
245- return None
244+ # if len(advisories) > 100:
245+ # return None
246246
247247 advisory_by_avid = {adv .avid : adv for adv in advisories }
248248 avids = advisory_by_avid .keys ()
@@ -359,6 +359,34 @@ def create(self, request, *args, **kwargs):
359359 return self .get_paginated_response (serializer .data )
360360
361361
362+ class AffectedByAdvisoryV3Serializer (AdvisoryV3Serializer ):
363+ fixed_by_packages = serializers .SerializerMethodField ()
364+
365+ def get_fixed_by_packages (self , obj ):
366+ return list (
367+ obj .impacted_packages .values_list ("fixed_by_packages__package_url" , flat = True )
368+ .exclude (fixed_by_packages__package_url__isnull = True )
369+ .distinct ()
370+ )
371+
372+ class Meta :
373+ model = AdvisoryV2
374+ fields = [
375+ "advisory_id" ,
376+ "url" ,
377+ "aliases" ,
378+ "summary" ,
379+ "severities" ,
380+ "weaknesses" ,
381+ "references" ,
382+ "exploitability" ,
383+ "weighted_severity" ,
384+ "risk_score" ,
385+ "related_ssvc_trees" ,
386+ "fixed_by_packages" ,
387+ ]
388+
389+
362390class AdvisoryV3ViewSet (viewsets .GenericViewSet ):
363391 queryset = AdvisoryV2 .objects .all ()
364392 serializer_class = AdvisoryV3Serializer
@@ -398,3 +426,4 @@ class FixingAdvisoriesViewSet(PackageAdvisoriesViewSet):
398426
399427class AffectedByAdvisoriesViewSet (PackageAdvisoriesViewSet ):
400428 relation = "impacted_packages__affecting_packages__package_url"
429+ serializer_class = AffectedByAdvisoryV3Serializer
0 commit comments