diff --git a/netbox/extras/api/serializers.py b/netbox/extras/api/serializers.py index b429c3e5c93..7f1b941b659 100644 --- a/netbox/extras/api/serializers.py +++ b/netbox/extras/api/serializers.py @@ -481,6 +481,11 @@ class ReportSerializer(serializers.Serializer): description = serializers.CharField(max_length=255, required=False) test_methods = serializers.ListField(child=serializers.CharField(max_length=255)) result = NestedJobSerializer() + display = serializers.SerializerMethodField(read_only=True) + + @extend_schema_field(serializers.CharField()) + def get_display(self, obj): + return f'{obj.name} ({obj.module})' class ReportDetailSerializer(ReportSerializer): @@ -518,6 +523,7 @@ class ScriptSerializer(serializers.Serializer): description = serializers.CharField(read_only=True) vars = serializers.SerializerMethodField(read_only=True) result = NestedJobSerializer() + display = serializers.SerializerMethodField(read_only=True) @extend_schema_field(serializers.JSONField(allow_null=True)) def get_vars(self, instance): @@ -525,6 +531,10 @@ def get_vars(self, instance): k: v.__class__.__name__ for k, v in instance._get_vars().items() } + @extend_schema_field(serializers.CharField()) + def get_display(self, obj): + return f'{obj.name} ({obj.module})' + class ScriptDetailSerializer(ScriptSerializer): result = JobSerializer() diff --git a/netbox/extras/api/views.py b/netbox/extras/api/views.py index a64e2a34f61..cfe76a889c8 100644 --- a/netbox/extras/api/views.py +++ b/netbox/extras/api/views.py @@ -243,7 +243,7 @@ def list(self, request): 'request': request, }) - return Response(serializer.data) + return Response({'count': len(report_list), 'results': serializer.data}) def retrieve(self, request, pk): """ @@ -343,7 +343,7 @@ def list(self, request): serializer = serializers.ScriptSerializer(script_list, many=True, context={'request': request}) - return Response(serializer.data) + return Response({'count': len(script_list), 'results': serializer.data}) def retrieve(self, request, pk): module, script = self._get_script(pk)