| 51 | |
| 52 | |
| 53 | class VulnerabilityReferenceSerializer(serializers.ModelSerializer): |
| 54 | scores = serializers.SerializerMethodField() |
| 55 | reference_url = serializers.CharField(source="url") |
| 56 | |
| 57 | class Meta: |
| 58 | model = VulnerabilityReference |
| 59 | fields = ["reference_url", "reference_id", "reference_type", "scores", "url"] |
| 60 | |
| 61 | def get_scores(self, instance): |
| 62 | severities_related_to_reference = [ |
| 63 | severity |
| 64 | for severity in self.context.get("severities", []) |
| 65 | if severity.url == instance.url |
| 66 | ] |
| 67 | |
| 68 | return VulnerabilitySeveritySerializer( |
| 69 | severities_related_to_reference, |
| 70 | many=True, |
| 71 | ).data |
| 72 | |
| 73 | |
| 74 | class BaseResourceSerializer(serializers.HyperlinkedModelSerializer): |
no outgoing calls
no test coverage detected