mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
* 11291 initial optimize graphql queries * 11291 add optimizer to schemas * 11291 cleanup fields.py * 11291 fix fragment query
39 lines
1.4 KiB
Python
39 lines
1.4 KiB
Python
import graphene
|
|
|
|
from circuits import models
|
|
from netbox.graphql.fields import ObjectField, ObjectListField
|
|
from .types import *
|
|
from utilities.graphql_optimizer import gql_query_optimizer
|
|
|
|
|
|
class CircuitsQuery(graphene.ObjectType):
|
|
circuit = ObjectField(CircuitType)
|
|
circuit_list = ObjectListField(CircuitType)
|
|
|
|
def resolve_circuit_list(root, info, **kwargs):
|
|
return gql_query_optimizer(models.Circuit.objects.all(), info)
|
|
|
|
circuit_termination = ObjectField(CircuitTerminationType)
|
|
circuit_termination_list = ObjectListField(CircuitTerminationType)
|
|
|
|
def resolve_circuit_termination_list(root, info, **kwargs):
|
|
return gql_query_optimizer(models.CircuitTermination.objects.all(), info)
|
|
|
|
circuit_type = ObjectField(CircuitTypeType)
|
|
circuit_type_list = ObjectListField(CircuitTypeType)
|
|
|
|
def resolve_circuit_type_list(root, info, **kwargs):
|
|
return gql_query_optimizer(models.CircuitType.objects.all(), info)
|
|
|
|
provider = ObjectField(ProviderType)
|
|
provider_list = ObjectListField(ProviderType)
|
|
|
|
def resolve_provider_list(root, info, **kwargs):
|
|
return gql_query_optimizer(models.Provider.objects.all(), info)
|
|
|
|
provider_network = ObjectField(ProviderNetworkType)
|
|
provider_network_list = ObjectListField(ProviderNetworkType)
|
|
|
|
def resolve_provider_network_list(root, info, **kwargs):
|
|
return gql_query_optimizer(models.ProviderNetwork.objects.all(), info)
|