diff --git a/netbox/wireless/api/serializers_/wirelesslans.py b/netbox/wireless/api/serializers_/wirelesslans.py index 69323fdcd..246a8bc96 100644 --- a/netbox/wireless/api/serializers_/wirelesslans.py +++ b/netbox/wireless/api/serializers_/wirelesslans.py @@ -1,5 +1,6 @@ from rest_framework import serializers +from drf_spectacular.utils import extend_schema_field from ipam.api.serializers_.vlans import VLANSerializer from netbox.api.fields import ChoiceField from netbox.api.serializers import NestedGroupModelSerializer, NetBoxModelSerializer @@ -45,3 +46,11 @@ class WirelessLANSerializer(NetBoxModelSerializer): 'created', 'last_updated', ] brief_fields = ('id', 'url', 'display', 'ssid', 'description') + + @extend_schema_field(serializers.JSONField(allow_null=True)) + def get_scope(self, obj): + if obj.scope_id is None: + return None + serializer = get_serializer_for_model(obj.scope) + context = {'request': self.context['request']} + return serializer(obj.scope, nested=True, context=context).data diff --git a/netbox/wireless/graphql/types.py b/netbox/wireless/graphql/types.py index 031dd09ac..088ac6613 100644 --- a/netbox/wireless/graphql/types.py +++ b/netbox/wireless/graphql/types.py @@ -28,7 +28,7 @@ class WirelessLANGroupType(OrganizationalObjectType): @strawberry_django.type( models.WirelessLAN, - fields='__all__', + exclude=('scope_type', 'scope_id', '_location', '_region', '_site', '_sitegroup'), filters=WirelessLANFilter ) class WirelessLANType(NetBoxObjectType):