MCPcopy Index your code
hub / github.com/aboutcode-org/vulnerablecode / list

Method list

vulnerabilities/api_v2.py:165–189  ·  view source on GitHub ↗
(self, request, *args, **kwargs)

Source from the content-addressed store, hash-verified

163 return super().get_serializer_class()
164
165 def list(self, request, *args, **kwargs):
166 queryset = self.get_queryset()
167 vulnerability_ids = request.query_params.getlist("vulnerability_id")
168
169 # If exactly one vulnerability_id is provided, return the serialized data
170 if len(vulnerability_ids) == 1:
171 try:
172 vulnerability = queryset.get(vulnerability_id=vulnerability_ids[0])
173 serializer = self.get_serializer(vulnerability)
174 return Response(serializer.data)
175 except Vulnerability.DoesNotExist:
176 return Response({"detail": "Not found."}, status=404)
177
178 # Otherwise, return a dictionary of vulnerabilities keyed by vulnerability_id
179 page = self.paginate_queryset(queryset)
180 if page is not None:
181 serializer = self.get_serializer(page, many=True)
182 data = serializer.data
183 vulnerabilities = {item["vulnerability_id"]: item for item in data}
184 return self.get_paginated_response({"vulnerabilities": vulnerabilities})
185
186 serializer = self.get_serializer(queryset, many=True)
187 data = serializer.data
188 vulnerabilities = {item["vulnerability_id"]: item for item in data}
189 return Response({"vulnerabilities": vulnerabilities})
190
191
192class PackageV2Serializer(serializers.ModelSerializer):

Callers

nothing calls this directly

Calls 2

get_querysetMethod · 0.95
getMethod · 0.45

Tested by

no test coverage detected