@@ -258,34 +258,34 @@ def get_affected_by_vulnerabilities(self, package):
258258
259259 return result
260260
261- # is_grouped = AdvisorySet.objects.filter(package=package, relation_type="affecting").exists()
262-
263- # if is_grouped:
264- # affected_by_advisories_qs = (
265- # AdvisorySet.objects.filter(package=package, relation_type="affecting")
266- # .select_related("primary_advisory")
267- # .prefetch_related(
268- # Prefetch(
269- # "members",
270- # queryset=AdvisorySetMember.objects.filter(is_primary=False).select_related(
271- # "advisory"
272- # ),
273- # to_attr="secondary_members",
274- # )
275- # )
276- # )
277-
278- # affected_groups = [
279- # Group(
280- # aliases=list(adv.aliases.all()),
281- # primary=adv.primary_advisory,
282- # secondaries=[member.advisory for member in adv.secondary_members],
283- # )
284- # for adv in affected_by_advisories_qs
285- # ]
286-
287- # advisories: List[GroupedAdvisory] = get_advisories_from_groups(affected_groups)
288- # return self.return_advisories_data(package, advisories_qs, advisories)
261+ is_grouped = AdvisorySet .objects .filter (package = package , relation_type = "affecting" ).exists ()
262+
263+ if is_grouped :
264+ affected_by_advisories_qs = (
265+ AdvisorySet .objects .filter (package = package , relation_type = "affecting" )
266+ .select_related ("primary_advisory" )
267+ .prefetch_related (
268+ Prefetch (
269+ "members" ,
270+ queryset = AdvisorySetMember .objects .filter (is_primary = False ).select_related (
271+ "advisory"
272+ ),
273+ to_attr = "secondary_members" ,
274+ )
275+ )
276+ )
277+
278+ affected_groups = [
279+ Group (
280+ aliases = list (adv .aliases .all ()),
281+ primary = adv .primary_advisory ,
282+ secondaries = [member .advisory for member in adv .secondary_members ],
283+ )
284+ for adv in affected_by_advisories_qs
285+ ]
286+
287+ advisories : List [GroupedAdvisory ] = get_advisories_from_groups (affected_groups )
288+ return self .return_advisories_data (package , advisories_qs , advisories )
289289
290290 if package .type in TYPES_WITH_MULTIPLE_IMPORTERS :
291291 advisories_qs = advisories_qs .prefetch_related (
@@ -320,34 +320,34 @@ def get_fixing_vulnerabilities(self, package):
320320
321321 advisories = []
322322
323- # is_grouped = AdvisorySet.objects.filter(package=package, relation_type="fixing").exists()
324-
325- # if is_grouped:
326- # fixing_advisories_qs = (
327- # AdvisorySet.objects.filter(package=package, relation_type="fixing")
328- # .select_related("primary_advisory")
329- # .prefetch_related(
330- # Prefetch(
331- # "members",
332- # queryset=AdvisorySetMember.objects.filter(is_primary=False).select_related(
333- # "advisory"
334- # ),
335- # to_attr="secondary_members",
336- # )
337- # )
338- # )
339-
340- # fixing_groups = [
341- # Group(
342- # aliases=list(adv.aliases.all()),
343- # primary=adv.primary_advisory,
344- # secondaries=[member.advisory for member in adv.secondary_members],
345- # )
346- # for adv in fixing_advisories_qs
347- # ]
348-
349- # advisories: List[GroupedAdvisory] = get_advisories_from_groups(fixing_groups)
350- # return self.return_fixing_advisories_data(advisories)
323+ is_grouped = AdvisorySet .objects .filter (package = package , relation_type = "fixing" ).exists ()
324+
325+ if is_grouped :
326+ fixing_advisories_qs = (
327+ AdvisorySet .objects .filter (package = package , relation_type = "fixing" )
328+ .select_related ("primary_advisory" )
329+ .prefetch_related (
330+ Prefetch (
331+ "members" ,
332+ queryset = AdvisorySetMember .objects .filter (is_primary = False ).select_related (
333+ "advisory"
334+ ),
335+ to_attr = "secondary_members" ,
336+ )
337+ )
338+ )
339+
340+ fixing_groups = [
341+ Group (
342+ aliases = list (adv .aliases .all ()),
343+ primary = adv .primary_advisory ,
344+ secondaries = [member .advisory for member in adv .secondary_members ],
345+ )
346+ for adv in fixing_advisories_qs
347+ ]
348+
349+ advisories : List [GroupedAdvisory ] = get_advisories_from_groups (fixing_groups )
350+ return self .return_fixing_advisories_data (advisories )
351351
352352 if package .type in TYPES_WITH_MULTIPLE_IMPORTERS :
353353 advisories_qs = advisories_qs .prefetch_related (
0 commit comments