MCPcopy Create free account
hub / github.com/aboutcode-org/vulnerablecode / PackageQuerySerializer

Class PackageQuerySerializer

vulnerabilities/api_v3.py:45–69  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

43
44
45class PackageQuerySerializer(serializers.Serializer):
46 purls = serializers.ListField(
47 child=serializers.CharField(),
48 required=True,
49 )
50 details = serializers.BooleanField(default=False)
51 ignore_qualifiers_subpath = serializers.BooleanField(default=False)
52 max_advisories = serializers.IntegerField(default=100, min_value=1, max_value=10000)
53 reachability = serializers.BooleanField(default=False)
54
55 def validate(self, data):
56 if not data["purls"]:
57 if data["details"] or data["ignore_qualifiers_subpath"]:
58 raise serializers.ValidationError(
59 "``details`` and ``ignore_qualifiers_subpath`` must be false when purls is empty"
60 )
61 return data
62
63 def to_internal_value(self, data):
64 unknown = set(data.keys()) - set(self.fields.keys())
65
66 if unknown:
67 raise serializers.ValidationError({field: ["Unknown field."] for field in unknown})
68
69 return super().to_internal_value(data)
70
71
72class AdvisoryQuerySerializer(serializers.Serializer):

Callers 1

createMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected