File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -2930,15 +2930,18 @@ def latest_for_avid(self, avid: str):
29302930
29312931 def latest_per_avid (self ):
29322932 return self .filter (is_latest = True )
2933-
2933+
2934+ def latest_for_avids (self , avids ):
2935+ return self .filter (avid__in = avids ).latest_per_avid ()
2936+
29342937 def latest_for_avid_completely_imported_advisories (self , avid ):
29352938 return self .get (avid = avid , is_latest = True , _all_impacts_unfurled = True )
29362939
29372940 def latest_completely_imported_advisories_per_avid (self ):
29382941 return self .filter (is_latest = True , _all_impacts_unfurled = True )
29392942
2940- def latest_for_avids (self , avids ):
2941- return self .filter (avid__in = avids ). latest_per_avid ( )
2943+ def latest_for_avids_completely_imported_advisories (self , avids ):
2944+ return self .get (avid__in = avids , is_latest = True , _all_impacts_unfurled = True )
29422945
29432946 def latest_affecting_advisories_for_purl (self , purl ):
29442947 adv_ids = ImpactedPackage .objects .filter (
Original file line number Diff line number Diff line change @@ -213,29 +213,8 @@ def get_queryset(self, query=None):
213213 """
214214
215215 query = query or self .request .GET .get ("search" ) or ""
216- affecting_package_ids = ImpactedPackageAffecting .objects .filter (
217- impacted_package__advisory___all_impacts_unfurled = True ,
218- impacted_package__advisory__is_latest = True ,
219- ).values ("package_id" )
220216
221- fixed_by_package_ids = ImpactedPackageFixedBy .objects .filter (
222- impacted_package__advisory___all_impacts_unfurled = True ,
223- impacted_package__advisory__is_latest = True ,
224- ).values ("package_id" )
225-
226- return (
227- self .model .objects .search (query )
228- .filter (Q (id__in = affecting_package_ids ) | Q (id__in = fixed_by_package_ids ))
229- .annotate (
230- is_vulnerable = Exists (
231- ImpactedPackageAffecting .objects .filter (
232- package_id = OuterRef ("pk" ),
233- impacted_package__advisory___all_impacts_unfurled = True ,
234- impacted_package__advisory__is_latest = True ,
235- )
236- )
237- )
238- )
217+ return self .model .objects .search (query ).prefetch_related ().with_is_vulnerable ()
239218
240219
241220class AffectedByAdvisoriesListView (VulnerableCodeListView ):
You can’t perform that action at this time.
0 commit comments