mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
c57d71a9db
* 11291 initial optimize graphql queries * 11291 add optimizer to schemas * 11291 cleanup fields.py * 11291 fix fragment query
45 lines
1.6 KiB
Python
45 lines
1.6 KiB
Python
import graphene
|
|
|
|
from netbox.graphql.fields import ObjectField, ObjectListField
|
|
from tenancy import models
|
|
from .types import *
|
|
from utilities.graphql_optimizer import gql_query_optimizer
|
|
|
|
|
|
class TenancyQuery(graphene.ObjectType):
|
|
tenant = ObjectField(TenantType)
|
|
tenant_list = ObjectListField(TenantType)
|
|
|
|
def resolve_tenant_list(root, info, **kwargs):
|
|
return gql_query_optimizer(models.Tenant.objects.all(), info)
|
|
|
|
tenant_group = ObjectField(TenantGroupType)
|
|
tenant_group_list = ObjectListField(TenantGroupType)
|
|
|
|
def resolve_tenant_group_list(root, info, **kwargs):
|
|
return gql_query_optimizer(models.TenantGroup.objects.all(), info)
|
|
|
|
contact = ObjectField(ContactType)
|
|
contact_list = ObjectListField(ContactType)
|
|
|
|
def resolve_contact_list(root, info, **kwargs):
|
|
return gql_query_optimizer(models.Contact.objects.all(), info)
|
|
|
|
contact_role = ObjectField(ContactRoleType)
|
|
contact_role_list = ObjectListField(ContactRoleType)
|
|
|
|
def resolve_contact_role_list(root, info, **kwargs):
|
|
return gql_query_optimizer(models.ContactRole.objects.all(), info)
|
|
|
|
contact_group = ObjectField(ContactGroupType)
|
|
contact_group_list = ObjectListField(ContactGroupType)
|
|
|
|
def resolve_contact_group_list(root, info, **kwargs):
|
|
return gql_query_optimizer(models.ContactGroup.objects.all(), info)
|
|
|
|
contact_assignment = ObjectField(ContactAssignmentType)
|
|
contact_assignment_list = ObjectListField(ContactAssignmentType)
|
|
|
|
def resolve_contact_assignment_list(root, info, **kwargs):
|
|
return gql_query_optimizer(models.ContactAssignment.objects.all(), info)
|