Skip to content

Commit 78f9dcb

Browse files
committed
Delete alias from target advisiories only
Signed-off-by: ziad hany <ziadhany2016@gmail.com>
1 parent 5c12bb6 commit 78f9dcb

1 file changed

Lines changed: 20 additions & 3 deletions

File tree

vulnerabilities/migrations/0122_advisoryv2_remove_malformed_aliases_and_dvisory_id.py

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,30 @@ def drop_malformed_advisory_v2(apps, _):
1818
"talos-", "srcclr-sid-", "bit-", "gnutls-", "rustsec-", "snyk-",
1919
"temp-", "TYPO3-", "wnpa-sec-", "sa-core-", "skcsirt-", "flow-", "gsd-"
2020
]
21+
22+
target_importers = ["alpine_linux_importer_v2",
23+
"fireeye_importer_v2",
24+
"istio_importer_v2",
25+
"mattermost_importer_v2"]
2126
query = Q()
2227
for alias_prefix in valid_alias_prefix:
2328
query |= Q(alias__istartswith=alias_prefix)
2429

25-
malformed_aliases = AdvisoryAlias.objects.exclude(query)
26-
AdvisoryV2.objects.filter(aliases__in=malformed_aliases, datasource_id__in=["alpine_linux_importer_v2", "fireeye_importer_v2", "istio_importer_v2", "mattermost_importer_v2"]).delete()
27-
malformed_aliases.delete()
30+
malformed_alias_ids = list(
31+
AdvisoryAlias.objects.filter(
32+
advisories__datasource_id__in=target_importers
33+
).exclude(query).values_list('id', flat=True).distinct()
34+
)
35+
36+
AdvisoryV2.objects.filter(
37+
datasource_id__in=target_importers,
38+
aliases__id__in=malformed_alias_ids
39+
).delete()
40+
41+
AdvisoryAlias.objects.filter(
42+
id__in=malformed_alias_ids,
43+
advisories__isnull=True
44+
).delete()
2845

2946
operations = [
3047
migrations.RunPython(drop_malformed_advisory_v2, reverse_code=migrations.RunPython.noop),

0 commit comments

Comments
 (0)