diff --git a/netbox/dcim/graphql/types.py b/netbox/dcim/graphql/types.py index 023f72be3..99a9106cb 100644 --- a/netbox/dcim/graphql/types.py +++ b/netbox/dcim/graphql/types.py @@ -130,7 +130,7 @@ class CableTerminationType(NetBoxObjectType): Annotated["PowerOutletType", strawberry.lazy('dcim.graphql.types')], Annotated["PowerPortType", strawberry.lazy('dcim.graphql.types')], Annotated["RearPortType", strawberry.lazy('dcim.graphql.types')], - ], strawberry.union("CableTerminationTerminationType")] + ], strawberry.union("CableTerminationTerminationType")] | None @strawberry_django.type( @@ -302,7 +302,7 @@ class InventoryItemTemplateType(ComponentTemplateType): Annotated["PowerOutletType", strawberry.lazy('dcim.graphql.types')], Annotated["PowerPortType", strawberry.lazy('dcim.graphql.types')], Annotated["RearPortType", strawberry.lazy('dcim.graphql.types')], - ], strawberry.union("InventoryItemTemplateComponentType")] + ], strawberry.union("InventoryItemTemplateComponentType")] | None @strawberry_django.type( @@ -431,7 +431,7 @@ class InventoryItemType(ComponentType): Annotated["PowerOutletType", strawberry.lazy('dcim.graphql.types')], Annotated["PowerPortType", strawberry.lazy('dcim.graphql.types')], Annotated["RearPortType", strawberry.lazy('dcim.graphql.types')], - ], strawberry.union("InventoryItemComponentType")] + ], strawberry.union("InventoryItemComponentType")] | None @strawberry_django.type( diff --git a/netbox/ipam/graphql/types.py b/netbox/ipam/graphql/types.py index 6c269721e..36e09eaac 100644 --- a/netbox/ipam/graphql/types.py +++ b/netbox/ipam/graphql/types.py @@ -133,7 +133,7 @@ class IPAddressType(NetBoxObjectType, BaseIPAddressFamilyType): Annotated["InterfaceType", strawberry.lazy('dcim.graphql.types')], Annotated["FHRPGroupType", strawberry.lazy('ipam.graphql.types')], Annotated["VMInterfaceType", strawberry.lazy('virtualization.graphql.types')], - ], strawberry.union("IPAddressAssignmentType")]: + ], strawberry.union("IPAddressAssignmentType")] | None: return self.assigned_object @@ -261,7 +261,7 @@ class VLANGroupType(OrganizationalObjectType): Annotated["RegionType", strawberry.lazy('dcim.graphql.types')], Annotated["SiteType", strawberry.lazy('dcim.graphql.types')], Annotated["SiteGroupType", strawberry.lazy('dcim.graphql.types')], - ], strawberry.union("VLANGroupScopeType")]: + ], strawberry.union("VLANGroupScopeType")] | None: return self.scope diff --git a/netbox/utilities/testing/api.py b/netbox/utilities/testing/api.py index a30235d93..4802c3ffe 100644 --- a/netbox/utilities/testing/api.py +++ b/netbox/utilities/testing/api.py @@ -469,6 +469,9 @@ class APIViewTestCases: elif type(field.type) is StrawberryUnion: # this would require a fragment query continue + elif type(field.type) is StrawberryOptional and type(field.type.of_type) is StrawberryUnion: + # this would require a fragment query + continue elif type(field.type) is StrawberryOptional and type(field.type.of_type) is LazyType: fields_string += f'{field.name} {{ id }}\n' elif hasattr(field, 'is_relation') and field.is_relation: