Skip to content

Commit 4107451

Browse files
committed
Use new severity model in APIv2
Signed-off-by: Keshav Priyadarshi <[email protected]>
1 parent b5e2883 commit 4107451

File tree

2 files changed

+15
-6
lines changed

2 files changed

+15
-6
lines changed

vulnerabilities/api_v2.py

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
from rest_framework.response import Response
1414
from rest_framework.reverse import reverse
1515

16-
from vulnerabilities.api import VulnerabilitySeveritySerializer
1716
from vulnerabilities.models import Package
1817
from vulnerabilities.models import Vulnerability
1918
from vulnerabilities.models import VulnerabilityReference
@@ -41,11 +40,24 @@ class Meta:
4140
fields = ["url", "reference_type", "reference_id"]
4241

4342

43+
class VulnerabilitySeverityV2Serializer(serializers.ModelSerializer):
44+
class Meta:
45+
model = VulnerabilitySeverity
46+
fields = ["url", "value", "scoring_system", "scoring_elements", "published_at"]
47+
48+
def to_representation(self, instance):
49+
data = super().to_representation(instance)
50+
published_at = data.get("published_at", None)
51+
if not published_at:
52+
data.pop("published_at")
53+
return data
54+
55+
4456
class VulnerabilityV2Serializer(serializers.ModelSerializer):
4557
aliases = serializers.SerializerMethodField()
4658
weaknesses = WeaknessV2Serializer(many=True)
4759
references = VulnerabilityReferenceV2Serializer(many=True, source="vulnerabilityreference_set")
48-
severities = VulnerabilitySeveritySerializer(many=True)
60+
severities = VulnerabilitySeverityV2Serializer(many=True)
4961

5062
class Meta:
5163
model = Vulnerability
@@ -61,9 +73,6 @@ class Meta:
6173
def get_aliases(self, obj):
6274
return [alias.alias for alias in obj.aliases.all()]
6375

64-
def get_severities(self, obj):
65-
return obj.severities
66-
6776

6877
class VulnerabilityListSerializer(serializers.ModelSerializer):
6978
url = serializers.SerializerMethodField()

vulnerabilities/migrations/0077_alter_vulnerabilityseverity_options_and_more.py renamed to vulnerabilities/migrations/0078_alter_vulnerabilityseverity_options_and_more.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ def reverse_populate_vulnerability_model_with_severities(apps, schema_editor):
153153
pass
154154

155155
dependencies = [
156-
("vulnerabilities", "0076_alter_packagechangelog_software_version_and_more"),
156+
("vulnerabilities", "0077_alter_packagechangelog_software_version_and_more"),
157157
]
158158

159159
operations = [

0 commit comments

Comments
 (0)