Skip to content

Commit 219cb94

Browse files
committed
Use time reference to run mark unfurl improver
Signed-off-by: Tushar Goel <tushar.goel.dav@gmail.com>
1 parent 3cb3a8f commit 219cb94

15 files changed

Lines changed: 200 additions & 231 deletions

vulnerabilities/api_v3.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ def create(self, request, *args, **kwargs):
285285
if not details:
286286
affecting_exists = ImpactedPackageAffecting.objects.filter(
287287
package_id=OuterRef("pk"),
288-
impacted_package__advisory___all_impacts_unfurled=True,
288+
impacted_package__advisory___all_impacts_unfurled_at__isnull=False,
289289
impacted_package__advisory__is_latest=True,
290290
)
291291
# Return back vulnerable PURLs only
@@ -451,7 +451,7 @@ def get_affected_advisories_bulk(packages, max_advisories, base_url):
451451
ImpactedPackageAffecting.objects.filter(
452452
package_id__in=package_ids,
453453
impacted_package__advisory__is_latest=True,
454-
impacted_package__advisory___all_impacts_unfurled=True,
454+
impacted_package__advisory___all_impacts_unfurled_at__isnull=False,
455455
)
456456
.values(
457457
"package_id",

vulnerabilities/migrations/0134_advisoryv2__all_impacts_unfurled_and_more.py

Lines changed: 0 additions & 66 deletions
This file was deleted.
Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
# Generated by Django 5.2.11 on 2026-06-10 10:16
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
("vulnerabilities", "0133_alter_advisorytodov2_issue_detail"),
10+
]
11+
12+
operations = [
13+
migrations.AddField(
14+
model_name="advisoryv2",
15+
name="_all_impacts_unfurled_at",
16+
field=models.DateTimeField(
17+
blank=True,
18+
db_index=True,
19+
help_text="Indicates whether all impacts for this advisory have been unfurled.",
20+
null=True,
21+
),
22+
),
23+
migrations.AddField(
24+
model_name="advisoryv2",
25+
name="_all_impacts_unfurled_successfully_at",
26+
field=models.DateTimeField(
27+
blank=True,
28+
db_index=True,
29+
help_text="Indicates whether all impacts for this advisory have been unfurled successfully.",
30+
null=True,
31+
),
32+
),
33+
migrations.AlterField(
34+
model_name="advisoryset",
35+
name="relation_type",
36+
field=models.CharField(
37+
choices=[("affecting", "Affecting"), ("fixing", "Fixing")],
38+
db_index=True,
39+
max_length=20,
40+
),
41+
),
42+
migrations.AlterField(
43+
model_name="advisoryv2",
44+
name="advisory_id",
45+
field=models.CharField(
46+
db_index=True,
47+
help_text="An advisory is a unique vulnerability identifier in some database, such as PYSEC-2020-2233",
48+
max_length=200,
49+
),
50+
),
51+
migrations.AlterField(
52+
model_name="advisoryv2",
53+
name="avid",
54+
field=models.CharField(
55+
help_text="Unique ID for the datasource used for this advisory .e.g.: pysec_importer_v2/PYSEC-2020-2233",
56+
max_length=250,
57+
),
58+
),
59+
migrations.AlterField(
60+
model_name="advisoryv2",
61+
name="datasource_id",
62+
field=models.CharField(
63+
db_index=True,
64+
help_text="Unique ID for the datasource used for this advisory .e.g.: nginx",
65+
max_length=50,
66+
),
67+
),
68+
migrations.AlterField(
69+
model_name="advisoryv2",
70+
name="pipeline_id",
71+
field=models.CharField(
72+
db_index=True,
73+
help_text="Unique ID for the pipeline used for this advisory .e.g.: nginx_importer_v2",
74+
max_length=50,
75+
),
76+
),
77+
migrations.AlterUniqueTogether(
78+
name="advisoryset",
79+
unique_together={("package", "relation_type", "primary_advisory")},
80+
),
81+
migrations.AddIndex(
82+
model_name="advisoryset",
83+
index=models.Index(
84+
fields=["package", "relation_type"], name="vulnerabili_package_13a5a3_idx"
85+
),
86+
),
87+
migrations.AddIndex(
88+
model_name="advisoryv2",
89+
index=models.Index(
90+
fields=["_all_impacts_unfurled_at", "id"], name="advisory_unfurled_idx"
91+
),
92+
),
93+
migrations.AddIndex(
94+
model_name="advisoryv2",
95+
index=models.Index(
96+
fields=["is_latest", "_all_impacts_unfurled_at"],
97+
name="vulnerabili_is_late_564f3c_idx",
98+
),
99+
),
100+
migrations.AddIndex(
101+
model_name="impactedpackage",
102+
index=models.Index(
103+
fields=["advisory", "last_range_unfurl_at"], name="vulnerabili_advisor_1e3414_idx"
104+
),
105+
),
106+
migrations.AddIndex(
107+
model_name="impactedpackageaffecting",
108+
index=models.Index(
109+
fields=["package", "impacted_package"], name="vulnerabili_package_22fb39_idx"
110+
),
111+
),
112+
migrations.AddIndex(
113+
model_name="impactedpackageaffecting",
114+
index=models.Index(
115+
fields=["impacted_package", "package"], name="vulnerabili_impacte_1904b9_idx"
116+
),
117+
),
118+
migrations.AddIndex(
119+
model_name="impactedpackagefixedby",
120+
index=models.Index(
121+
fields=["package", "impacted_package"], name="vulnerabili_package_f6588f_idx"
122+
),
123+
),
124+
migrations.AddIndex(
125+
model_name="impactedpackagefixedby",
126+
index=models.Index(
127+
fields=["impacted_package", "package"], name="vulnerabili_impacte_390971_idx"
128+
),
129+
),
130+
]

vulnerabilities/migrations/0135_advisoryv2__all_impacts_unfurled_successfully_and_more.py

Lines changed: 0 additions & 27 deletions
This file was deleted.

vulnerabilities/migrations/0136_alter_advisoryv2__all_impacts_unfurled_and_more.py

Lines changed: 0 additions & 61 deletions
This file was deleted.

vulnerabilities/migrations/0137_alter_advisoryset_relation_type_and_more.py

Lines changed: 0 additions & 28 deletions
This file was deleted.

0 commit comments

Comments
 (0)