Skip to content

Commit 98e1d2b

Browse files
committed
fix: Use a custom serializer to validate results of GCC endpoint
1 parent 93f7e45 commit 98e1d2b

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

uvdat/core/rest/networks.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ class GCCQueryParamSerializer(serializers.Serializer):
1313
exclude_nodes = serializers.RegexField(r'^\d+(,\s?\d+)*$')
1414

1515

16+
class GCCResultSerializer(serializers.Serializer):
17+
gcc = serializers.ListField(child=serializers.IntegerField())
18+
19+
1620
class NetworkViewSet(ModelViewSet):
1721
queryset = Network.objects.all()
1822
serializer_class = NetworkSerializer
@@ -31,4 +35,6 @@ def gcc(self, request, **kwargs):
3135
exclude_nodes = [int(n) for n in serializer.validated_data['exclude_nodes'].split(',')]
3236

3337
gcc = network.get_gcc(excluded_nodes=exclude_nodes)
34-
return Response(gcc, status=200)
38+
result = GCCResultSerializer(data=dict(gcc=gcc))
39+
if result.is_valid():
40+
return Response(result.data.get('gcc'), status=200)

0 commit comments

Comments
 (0)