From 8bafef654aded408f8382c67d7fa35e97a1ad9fb Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Mon, 28 Oct 2024 14:12:34 -0700 Subject: [PATCH] 10711 Add Scope to WirelessLAN --- netbox/wireless/api/serializers_/wirelesslans.py | 9 +++++++++ netbox/wireless/graphql/types.py | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) 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):