Skip to content

Commit 6d26273

Browse files
committed
revision: migrate changes to serializer
Signed-off-by: Mukund Menon <[email protected]>
1 parent 3fe331c commit 6d26273

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

vulnerabilities/api.py

+7-6
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,8 @@ class VulnSerializerRefsAndSummary(BaseResourceSerializer):
157157

158158
aliases = serializers.SerializerMethodField()
159159

160+
weaknesses = serializers.SerializerMethodField()
161+
160162
def get_aliases(self, obj):
161163
# Assuming `obj.aliases` is a queryset of `Alias` objects
162164
return [alias.alias for alias in obj.aliases.all()]
@@ -173,6 +175,9 @@ def get_references(self, vulnerability):
173175

174176
return serialized_references
175177

178+
def get_weaknesses(self, obj):
179+
return [weakness.to_dict() for weakness in getattr(obj, "prefetched_weaknesses", [])]
180+
176181
class Meta:
177182
model = Vulnerability
178183
fields = [
@@ -185,6 +190,7 @@ class Meta:
185190
"risk_score",
186191
"exploitability",
187192
"weighted_severity",
193+
"weaknesses",
188194
]
189195

190196

@@ -362,16 +368,11 @@ def get_vulnerabilities_for_a_package(self, package, fix) -> dict:
362368
to_attr="prefetched_weaknesses",
363369
)
364370
)
365-
vulnerabilities_data = VulnSerializerRefsAndSummary(
371+
return VulnSerializerRefsAndSummary(
366372
instance=qs,
367373
many=True,
368374
context={"request": self.context["request"]},
369375
).data
370-
371-
for vuln, vuln_instance in zip(vulnerabilities_data, qs):
372-
vuln["weaknesses"] = [weakness.to_dict() for weakness in vuln_instance.prefetched_weaknesses]
373-
374-
return vulnerabilities_data
375376

376377
def get_fixing_vulnerabilities(self, package) -> dict:
377378
"""

0 commit comments

Comments
 (0)