Initial work on GraphQL

This commit is contained in:
jeremystretch
2021-06-08 13:52:39 -04:00
parent 1d62d67c86
commit 716d565314
12 changed files with 249 additions and 1 deletions

View File

@@ -0,0 +1,21 @@
import graphene
from netbox.graphql.fields import ObjectField, ObjectListField
from .types import *
class CircuitsQuery(graphene.ObjectType):
circuit = ObjectField(CircuitType)
circuits = ObjectListField(CircuitType)
circuit_termination = ObjectField(CircuitTerminationType)
circuit_terminations = ObjectListField(CircuitTerminationType)
circuit_type = ObjectField(CircuitTypeType)
circuit_types = ObjectListField(CircuitTypeType)
provider = ObjectField(ProviderType)
providers = ObjectListField(ProviderType)
provider_network = ObjectField(ProviderNetworkType)
provider_networks = ObjectListField(ProviderNetworkType)

View File

@@ -0,0 +1,54 @@
from circuits import filtersets, models
from netbox.graphql.types import *
__all__ = (
'CircuitType',
'CircuitTerminationType',
'CircuitTypeType',
'ProviderType',
'ProviderNetworkType',
)
#
# Object types
#
class ProviderType(TaggedObjectType):
class Meta:
model = models.Provider
fields = '__all__'
filterset_class = filtersets.ProviderFilterSet
class ProviderNetworkType(TaggedObjectType):
class Meta:
model = models.ProviderNetwork
fields = '__all__'
filterset_class = filtersets.ProviderNetworkFilterSet
class CircuitType(TaggedObjectType):
class Meta:
model = models.Circuit
fields = '__all__'
filterset_class = filtersets.CircuitFilterSet
class CircuitTypeType(ObjectType):
class Meta:
model = models.CircuitType
fields = '__all__'
filterset_class = filtersets.CircuitTypeFilterSet
class CircuitTerminationType(BaseObjectType):
class Meta:
model = models.CircuitTermination
fields = '__all__'
filterset_class = filtersets.CircuitTerminationFilterSet