Skip to content

Commit 8923705

Browse files
committed
Revert search code
Signed-off-by: Tushar Goel <tushar.goel.dav@gmail.com>
1 parent 3644b8b commit 8923705

2 files changed

Lines changed: 7 additions & 25 deletions

File tree

vulnerabilities/models.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff 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(

vulnerabilities/views.py

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff 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

241220
class AffectedByAdvisoriesListView(VulnerableCodeListView):

0 commit comments

Comments
 (0)