Skip to content

Commit 9168106

Browse files
committed
Add avid in api
Signed-off-by: Tushar Goel <tushar.goel.dav@gmail.com>
1 parent 1cc14c5 commit 9168106

1 file changed

Lines changed: 10 additions & 6 deletions

File tree

vulnerabilities/api_v3.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,6 @@ class AdvisoryV3Serializer(serializers.ModelSerializer):
113113
weaknesses = AdvisoryWeaknessSerializer(many=True)
114114
references = AdvisoryReferenceSerializer(many=True)
115115
severities = AdvisorySeveritySerializer(many=True)
116-
advisory_id = serializers.CharField(source="avid", read_only=True)
117116
related_ssvc_trees = serializers.SerializerMethodField()
118117

119118
def get_related_ssvc_trees(self, obj):
@@ -142,7 +141,7 @@ def get_related_ssvc_trees(self, obj):
142141
class Meta:
143142
model = AdvisoryV2
144143
fields = [
145-
"advisory_id",
144+
"avid",
146145
"url",
147146
"aliases",
148147
"summary",
@@ -226,8 +225,7 @@ def get_affected_by_vulnerabilities(self, package):
226225
result = []
227226

228227
for adv in advisories:
229-
fixed = impact_map.get(adv["avid"])
230-
adv.pop("avid", None)
228+
fixed = impact_map.get(adv["avid"]) or []
231229
resource_url = None
232230

233231
if request := self.context.get("request", None):
@@ -292,6 +290,7 @@ def get_affected_by_vulnerabilities(self, package):
292290

293291
result.append(
294292
{
293+
"avid": advisory.avid,
295294
"advisory_id": advisory.advisory_id.split("/")[-1],
296295
"aliases": [alias.alias for alias in advisory.aliases.all()],
297296
"summary": advisory.summary,
@@ -336,6 +335,7 @@ def get_fixing_vulnerabilities(self, package):
336335
{
337336
"advisory_id": advisory["advisory_id"],
338337
"resource_url": resource_url,
338+
"avid": advisory["avid"],
339339
}
340340
)
341341
if results:
@@ -359,6 +359,7 @@ def get_fixing_vulnerabilities(self, package):
359359
{
360360
"advisory_id": advisory.advisory_id.split("/")[-1],
361361
"resource_url": resource_url,
362+
"avid": advisory.avid,
362363
}
363364
)
364365
return results
@@ -389,6 +390,7 @@ def return_fixing_advisories_data(self, advisories):
389390
{
390391
"advisory_id": advisory.identifier,
391392
"resource_url": resource_url,
393+
"avid": advisory.advisory.avid,
392394
}
393395
)
394396

@@ -416,12 +418,13 @@ def return_advisories_data(self, package, advisories_qs, advisories):
416418
location=advisory.advisory.get_absolute_url()
417419
)
418420
impact = impact_by_avid.get(advisory.advisory.avid)
419-
if not impact:
421+
if impact:
420422
fixed_by_packages = list(set([pkg.purl for pkg in impact.fixed_by_packages.all()]))
421423

422424
result.append(
423425
{
424426
"advisory_id": advisory.identifier,
427+
"avid": advisory.advisory.avid,
425428
"aliases": [alias.alias for alias in advisory.aliases],
426429
"weighted_severity": advisory.weighted_severity,
427430
"exploitability": advisory.exploitability,
@@ -542,7 +545,7 @@ def get_fixed_by_packages(self, obj):
542545
class Meta:
543546
model = AdvisoryV2
544547
fields = [
545-
"advisory_id",
548+
"avid",
546549
"url",
547550
"aliases",
548551
"summary",
@@ -801,6 +804,7 @@ def get_fixing_advisories_bulk(packages):
801804
{
802805
"advisory_id": advisory.advisory_id.split("/")[-1],
803806
"resource_url": advisory.get_absolute_url(),
807+
"avid": advisory.avid,
804808
}
805809
)
806810

0 commit comments

Comments
 (0)