mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-24 08:25:17 -06:00
9468 add link_peer to GraphQL
This commit is contained in:
parent
568e0c7ff6
commit
38dd28929e
59
netbox/dcim/graphql/gfk_mixins.py
Normal file
59
netbox/dcim/graphql/gfk_mixins.py
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
import graphene
|
||||||
|
from circuits.graphql.types import CircuitTerminationType
|
||||||
|
from circuits.models import CircuitTermination
|
||||||
|
from dcim.graphql.types import (
|
||||||
|
ConsolePortType,
|
||||||
|
ConsoleServerPortType,
|
||||||
|
FrontPortType,
|
||||||
|
InterfaceType,
|
||||||
|
PowerFeedType,
|
||||||
|
PowerOutletType,
|
||||||
|
PowerPortType,
|
||||||
|
RearPortType,
|
||||||
|
)
|
||||||
|
from dcim.models import (
|
||||||
|
ConsolePort,
|
||||||
|
ConsoleServerPort,
|
||||||
|
FrontPort,
|
||||||
|
Interface,
|
||||||
|
PowerFeed,
|
||||||
|
PowerOutlet,
|
||||||
|
PowerPort,
|
||||||
|
RearPort,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class LinkPeerType(graphene.Union):
|
||||||
|
class Meta:
|
||||||
|
types = (
|
||||||
|
CircuitTerminationType,
|
||||||
|
ConsolePortType,
|
||||||
|
ConsoleServerPortType,
|
||||||
|
FrontPortType,
|
||||||
|
InterfaceType,
|
||||||
|
PowerFeedType,
|
||||||
|
PowerOutletType,
|
||||||
|
PowerPortType,
|
||||||
|
RearPortType,
|
||||||
|
)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def resolve_type(cls, instance, info):
|
||||||
|
if type(instance) == CircuitTermination:
|
||||||
|
return CircuitTerminationType
|
||||||
|
if type(instance) == ConsolePortType:
|
||||||
|
return ConsolePortType
|
||||||
|
if type(instance) == ConsoleServerPort:
|
||||||
|
return ConsoleServerPortType
|
||||||
|
if type(instance) == FrontPort:
|
||||||
|
return FrontPortType
|
||||||
|
if type(instance) == Interface:
|
||||||
|
return InterfaceType
|
||||||
|
if type(instance) == PowerFeed:
|
||||||
|
return PowerFeedType
|
||||||
|
if type(instance) == PowerOutlet:
|
||||||
|
return PowerOutletType
|
||||||
|
if type(instance) == PowerPort:
|
||||||
|
return PowerPortType
|
||||||
|
if type(instance) == RearPort:
|
||||||
|
return RearPortType
|
@ -1,5 +1,12 @@
|
|||||||
|
import graphene
|
||||||
|
|
||||||
|
|
||||||
class CabledObjectMixin:
|
class CabledObjectMixin:
|
||||||
|
link_peers = graphene.List('dcim.graphql.gfk_mixins.LinkPeerType')
|
||||||
|
|
||||||
def resolve_cable_end(self, info):
|
def resolve_cable_end(self, info):
|
||||||
# Handle empty values
|
# Handle empty values
|
||||||
return self.cable_end or None
|
return self.cable_end or None
|
||||||
|
|
||||||
|
def resolve_link_peers(self, info):
|
||||||
|
return self.link_peers
|
||||||
|
Loading…
Reference in New Issue
Block a user