mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-26 17:26:10 -06:00
Closes #11851: Add family field to IPAddress queries in GraphQL
This commit is contained in:
parent
c9e5a4c996
commit
c3565f841a
@ -64,14 +64,30 @@ class FHRPGroupAssignmentType(BaseObjectType):
|
|||||||
filterset_class = filtersets.FHRPGroupAssignmentFilterSet
|
filterset_class = filtersets.FHRPGroupAssignmentFilterSet
|
||||||
|
|
||||||
|
|
||||||
|
class IPAddressFamilyType(graphene.ObjectType):
|
||||||
|
|
||||||
|
value = graphene.Int()
|
||||||
|
label = graphene.String()
|
||||||
|
|
||||||
|
def __init__(self, value):
|
||||||
|
self.value = value
|
||||||
|
self.label = 'IPv4' if value == 4 else 'IPv6'
|
||||||
|
|
||||||
|
|
||||||
class IPAddressType(NetBoxObjectType):
|
class IPAddressType(NetBoxObjectType):
|
||||||
assigned_object = graphene.Field('ipam.graphql.gfk_mixins.IPAddressAssignmentType')
|
assigned_object = graphene.Field('ipam.graphql.gfk_mixins.IPAddressAssignmentType')
|
||||||
|
family = graphene.Field(IPAddressFamilyType)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.IPAddress
|
model = models.IPAddress
|
||||||
exclude = ('assigned_object_type', 'assigned_object_id')
|
exclude = ('assigned_object_type', 'assigned_object_id')
|
||||||
filterset_class = filtersets.IPAddressFilterSet
|
filterset_class = filtersets.IPAddressFilterSet
|
||||||
|
|
||||||
|
def resolve_family(self, _):
|
||||||
|
# Note that self, is an instance of models.IPAddress
|
||||||
|
# thus resolves to the address family value.
|
||||||
|
return IPAddressFamilyType(self.family)
|
||||||
|
|
||||||
def resolve_role(self, info):
|
def resolve_role(self, info):
|
||||||
return self.role or None
|
return self.role or None
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user