| 76 | |
| 77 | |
| 78 | class VulnerabilityV2Serializer(serializers.ModelSerializer): |
| 79 | aliases = serializers.SerializerMethodField() |
| 80 | weaknesses = WeaknessV2Serializer(many=True) |
| 81 | references = VulnerabilityReferenceV2Serializer(many=True, source="vulnerabilityreference_set") |
| 82 | severities = VulnerabilitySeverityV2Serializer(many=True) |
| 83 | exploitability = serializers.FloatField(read_only=True) |
| 84 | weighted_severity = serializers.FloatField(read_only=True) |
| 85 | risk_score = serializers.FloatField(read_only=True) |
| 86 | |
| 87 | class Meta: |
| 88 | model = Vulnerability |
| 89 | fields = [ |
| 90 | "vulnerability_id", |
| 91 | "aliases", |
| 92 | "summary", |
| 93 | "severities", |
| 94 | "weaknesses", |
| 95 | "references", |
| 96 | "exploitability", |
| 97 | "weighted_severity", |
| 98 | "risk_score", |
| 99 | ] |
| 100 | |
| 101 | def get_aliases(self, obj): |
| 102 | return [alias.alias for alias in obj.aliases.all()] |
| 103 | |
| 104 | |
| 105 | class VulnerabilityListSerializer(serializers.ModelSerializer): |
no test coverage detected