mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-27 10:58:37 -06:00
9856 ipam and tenant schema
This commit is contained in:
parent
1777ecaa5c
commit
4f7e744b6d
@ -0,0 +1,105 @@
|
|||||||
|
import strawberry
|
||||||
|
import strawberry_django
|
||||||
|
from strawberry import auto
|
||||||
|
from ipam import models, filtersets
|
||||||
|
from netbox.graphql import filters
|
||||||
|
|
||||||
|
|
||||||
|
__all__ = (
|
||||||
|
'ASNFilter',
|
||||||
|
'ASNRangeFilter',
|
||||||
|
'AggregateFilter',
|
||||||
|
'FHRPGroupFilter',
|
||||||
|
'FHRPGroupAssignmentFilter',
|
||||||
|
'IPAddressFilter',
|
||||||
|
'IPRangeFilter',
|
||||||
|
'PrefixFilter',
|
||||||
|
'RIRFilter',
|
||||||
|
'RoleFilter',
|
||||||
|
'RouteTargetFilter',
|
||||||
|
'ServiceFilter',
|
||||||
|
'ServiceTemplateFilter',
|
||||||
|
'VLANFilter',
|
||||||
|
'VLANGroupFilter',
|
||||||
|
'VRFFilter',
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@strawberry_django.filter(models.ASN, lookups=True)
|
||||||
|
class ASNFilter(filtersets.ASNFilterSet):
|
||||||
|
id: auto
|
||||||
|
|
||||||
|
|
||||||
|
@strawberry_django.filter(models.ASNRange, lookups=True)
|
||||||
|
class ASNRangeFilter(filtersets.ASNRangeFilterSet):
|
||||||
|
id: auto
|
||||||
|
|
||||||
|
|
||||||
|
@strawberry_django.filter(models.Aggregate, lookups=True)
|
||||||
|
class AggregateFilter(filtersets.AggregateFilterSet):
|
||||||
|
id: auto
|
||||||
|
|
||||||
|
|
||||||
|
@strawberry_django.filter(models.FHRPGroup, lookups=True)
|
||||||
|
class FHRPGroupFilter(filtersets.FHRPGroupFilterSet):
|
||||||
|
id: auto
|
||||||
|
|
||||||
|
|
||||||
|
@strawberry_django.filter(models.FHRPGroupAssignment, lookups=True)
|
||||||
|
class FHRPGroupAssignmentFilter(filtersets.FHRPGroupAssignmentFilterSet):
|
||||||
|
id: auto
|
||||||
|
|
||||||
|
|
||||||
|
@strawberry_django.filter(models.IPAddress, lookups=True)
|
||||||
|
class IPAddressFilter(filtersets.IPAddressFilterSet):
|
||||||
|
id: auto
|
||||||
|
|
||||||
|
|
||||||
|
@strawberry_django.filter(models.IPRange, lookups=True)
|
||||||
|
class IPRangeFilter(filtersets.IPRangeFilterSet):
|
||||||
|
id: auto
|
||||||
|
|
||||||
|
|
||||||
|
@strawberry_django.filter(models.Prefix, lookups=True)
|
||||||
|
class PrefixFilter(filtersets.PrefixFilterSet):
|
||||||
|
id: auto
|
||||||
|
|
||||||
|
|
||||||
|
@strawberry_django.filter(models.RIR, lookups=True)
|
||||||
|
class RIRFilter(filtersets.RIRFilterSet):
|
||||||
|
id: auto
|
||||||
|
|
||||||
|
|
||||||
|
@strawberry_django.filter(models.Role, lookups=True)
|
||||||
|
class RoleFilter(filtersets.RoleFilterSet):
|
||||||
|
id: auto
|
||||||
|
|
||||||
|
|
||||||
|
@strawberry_django.filter(models.RouteTarget, lookups=True)
|
||||||
|
class RouteTargetFilter(filtersets.RouteTargetFilterSet):
|
||||||
|
id: auto
|
||||||
|
|
||||||
|
|
||||||
|
@strawberry_django.filter(models.Service, lookups=True)
|
||||||
|
class ServiceFilter(filtersets.ServiceFilterSet):
|
||||||
|
id: auto
|
||||||
|
|
||||||
|
|
||||||
|
@strawberry_django.filter(models.ServiceTemplate, lookups=True)
|
||||||
|
class ServiceTemplateFilter(filtersets.ServiceTemplateFilterSet):
|
||||||
|
id: auto
|
||||||
|
|
||||||
|
|
||||||
|
@strawberry_django.filter(models.VLAN, lookups=True)
|
||||||
|
class VLANFilter(filtersets.VLANFilterSet):
|
||||||
|
id: auto
|
||||||
|
|
||||||
|
|
||||||
|
@strawberry_django.filter(models.VLANGroup, lookups=True)
|
||||||
|
class VLANGroupFilter(filtersets.VLANGroupFilterSet):
|
||||||
|
id: auto
|
||||||
|
|
||||||
|
|
||||||
|
@strawberry_django.filter(models.VRF, lookups=True)
|
||||||
|
class VRFFilter(filtersets.VRFFilterSet):
|
||||||
|
id: auto
|
@ -1,104 +1,57 @@
|
|||||||
import graphene
|
from typing import List
|
||||||
|
import strawberry
|
||||||
|
import strawberry_django
|
||||||
|
|
||||||
from ipam import models
|
from ipam import models
|
||||||
from netbox.graphql.fields import ObjectField, ObjectListField
|
|
||||||
from utilities.graphql_optimizer import gql_query_optimizer
|
|
||||||
from .types import *
|
from .types import *
|
||||||
|
|
||||||
|
|
||||||
class IPAMQuery(graphene.ObjectType):
|
@strawberry.type
|
||||||
asn = ObjectField(ASNType)
|
class IPAMQuery:
|
||||||
asn_list = ObjectListField(ASNType)
|
asn: ASNType = strawberry_django.field()
|
||||||
|
asn_list: List[ASNType] = strawberry_django.field()
|
||||||
|
|
||||||
def resolve_asn_list(root, info, **kwargs):
|
asn_range: ASNRangeType = strawberry_django.field()
|
||||||
return gql_query_optimizer(models.ASN.objects.all(), info)
|
asn_range_list: List[ASNRangeType] = strawberry_django.field()
|
||||||
|
|
||||||
asn_range = ObjectField(ASNRangeType)
|
aggregate: AggregateType = strawberry_django.field()
|
||||||
asn_range_list = ObjectListField(ASNRangeType)
|
aggregate_list: List[AggregateType] = strawberry_django.field()
|
||||||
|
|
||||||
def resolve_asn_range_list(root, info, **kwargs):
|
ip_address: IPAddressType = strawberry_django.field()
|
||||||
return gql_query_optimizer(models.ASNRange.objects.all(), info)
|
ip_address_list: List[IPAddressType] = strawberry_django.field()
|
||||||
|
|
||||||
aggregate = ObjectField(AggregateType)
|
ip_range: IPRangeType = strawberry_django.field()
|
||||||
aggregate_list = ObjectListField(AggregateType)
|
ip_range_list: List[IPRangeType] = strawberry_django.field()
|
||||||
|
|
||||||
def resolve_aggregate_list(root, info, **kwargs):
|
prefix: PrefixType = strawberry_django.field()
|
||||||
return gql_query_optimizer(models.Aggregate.objects.all(), info)
|
prefix_list: List[PrefixType] = strawberry_django.field()
|
||||||
|
|
||||||
ip_address = ObjectField(IPAddressType)
|
rir: RIRType = strawberry_django.field()
|
||||||
ip_address_list = ObjectListField(IPAddressType)
|
rir_list: List[RIRType] = strawberry_django.field()
|
||||||
|
|
||||||
def resolve_ip_address_list(root, info, **kwargs):
|
role: RoleType = strawberry_django.field()
|
||||||
return gql_query_optimizer(models.IPAddress.objects.all(), info)
|
role_list: List[RoleType] = strawberry_django.field()
|
||||||
|
|
||||||
ip_range = ObjectField(IPRangeType)
|
route_target: RouteTargetType = strawberry_django.field()
|
||||||
ip_range_list = ObjectListField(IPRangeType)
|
route_target_list: List[RouteTargetType] = strawberry_django.field()
|
||||||
|
|
||||||
def resolve_ip_range_list(root, info, **kwargs):
|
service: ServiceType = strawberry_django.field()
|
||||||
return gql_query_optimizer(models.IPRange.objects.all(), info)
|
service_list: List[ServiceType] = strawberry_django.field()
|
||||||
|
|
||||||
prefix = ObjectField(PrefixType)
|
service_template: ServiceTemplateType = strawberry_django.field()
|
||||||
prefix_list = ObjectListField(PrefixType)
|
service_template_list: List[ServiceTemplateType] = strawberry_django.field()
|
||||||
|
|
||||||
def resolve_prefix_list(root, info, **kwargs):
|
fhrp_group: FHRPGroupType = strawberry_django.field()
|
||||||
return gql_query_optimizer(models.Prefix.objects.all(), info)
|
fhrp_group_list: List[FHRPGroupType] = strawberry_django.field()
|
||||||
|
|
||||||
rir = ObjectField(RIRType)
|
fhrp_group_assignment: FHRPGroupAssignmentType = strawberry_django.field()
|
||||||
rir_list = ObjectListField(RIRType)
|
fhrp_group_assignment_list: List[FHRPGroupAssignmentType] = strawberry_django.field()
|
||||||
|
|
||||||
def resolve_rir_list(root, info, **kwargs):
|
vlan: VLANType = strawberry_django.field()
|
||||||
return gql_query_optimizer(models.RIR.objects.all(), info)
|
vlan_list: List[VLANType] = strawberry_django.field()
|
||||||
|
|
||||||
role = ObjectField(RoleType)
|
vlan_group: VLANGroupType = strawberry_django.field()
|
||||||
role_list = ObjectListField(RoleType)
|
vlan_group_list: List[VLANGroupType] = strawberry_django.field()
|
||||||
|
|
||||||
def resolve_role_list(root, info, **kwargs):
|
vrf: VRFType = strawberry_django.field()
|
||||||
return gql_query_optimizer(models.Role.objects.all(), info)
|
vrf_list: List[VRFType] = strawberry_django.field()
|
||||||
|
|
||||||
route_target = ObjectField(RouteTargetType)
|
|
||||||
route_target_list = ObjectListField(RouteTargetType)
|
|
||||||
|
|
||||||
def resolve_route_target_list(root, info, **kwargs):
|
|
||||||
return gql_query_optimizer(models.RouteTarget.objects.all(), info)
|
|
||||||
|
|
||||||
service = ObjectField(ServiceType)
|
|
||||||
service_list = ObjectListField(ServiceType)
|
|
||||||
|
|
||||||
def resolve_service_list(root, info, **kwargs):
|
|
||||||
return gql_query_optimizer(models.Service.objects.all(), info)
|
|
||||||
|
|
||||||
service_template = ObjectField(ServiceTemplateType)
|
|
||||||
service_template_list = ObjectListField(ServiceTemplateType)
|
|
||||||
|
|
||||||
def resolve_service_template_list(root, info, **kwargs):
|
|
||||||
return gql_query_optimizer(models.ServiceTemplate.objects.all(), info)
|
|
||||||
|
|
||||||
fhrp_group = ObjectField(FHRPGroupType)
|
|
||||||
fhrp_group_list = ObjectListField(FHRPGroupType)
|
|
||||||
|
|
||||||
def resolve_fhrp_group_list(root, info, **kwargs):
|
|
||||||
return gql_query_optimizer(models.FHRPGroup.objects.all(), info)
|
|
||||||
|
|
||||||
fhrp_group_assignment = ObjectField(FHRPGroupAssignmentType)
|
|
||||||
fhrp_group_assignment_list = ObjectListField(FHRPGroupAssignmentType)
|
|
||||||
|
|
||||||
def resolve_fhrp_group_assignment_list(root, info, **kwargs):
|
|
||||||
return gql_query_optimizer(models.FHRPGroupAssignment.objects.all(), info)
|
|
||||||
|
|
||||||
vlan = ObjectField(VLANType)
|
|
||||||
vlan_list = ObjectListField(VLANType)
|
|
||||||
|
|
||||||
def resolve_vlan_list(root, info, **kwargs):
|
|
||||||
return gql_query_optimizer(models.VLAN.objects.all(), info)
|
|
||||||
|
|
||||||
vlan_group = ObjectField(VLANGroupType)
|
|
||||||
vlan_group_list = ObjectListField(VLANGroupType)
|
|
||||||
|
|
||||||
def resolve_vlan_group_list(root, info, **kwargs):
|
|
||||||
return gql_query_optimizer(models.VLANGroup.objects.all(), info)
|
|
||||||
|
|
||||||
vrf = ObjectField(VRFType)
|
|
||||||
vrf_list = ObjectListField(VRFType)
|
|
||||||
|
|
||||||
def resolve_vrf_list(root, info, **kwargs):
|
|
||||||
return gql_query_optimizer(models.VRF.objects.all(), info)
|
|
||||||
|
@ -26,7 +26,7 @@ __all__ = (
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class IPAddressFamilyType(graphene.ObjectType):
|
class IPAddressFamilyType:
|
||||||
|
|
||||||
# value = graphene.Int()
|
# value = graphene.Int()
|
||||||
# label = graphene.String()
|
# label = graphene.String()
|
||||||
@ -50,8 +50,9 @@ class BaseIPAddressFamilyType:
|
|||||||
|
|
||||||
@strawberry_django.type(
|
@strawberry_django.type(
|
||||||
models.ASN,
|
models.ASN,
|
||||||
fields='__all__',
|
# fields='__all__',
|
||||||
filters=ProviderFilter
|
exclude=('asn',), # bug - temp
|
||||||
|
filters=ASNFilter
|
||||||
)
|
)
|
||||||
class ASNType(NetBoxObjectType):
|
class ASNType(NetBoxObjectType):
|
||||||
# asn = graphene.Field(BigInt)
|
# asn = graphene.Field(BigInt)
|
||||||
@ -60,7 +61,8 @@ class ASNType(NetBoxObjectType):
|
|||||||
|
|
||||||
@strawberry_django.type(
|
@strawberry_django.type(
|
||||||
models.ASNRange,
|
models.ASNRange,
|
||||||
fields='__all__',
|
# fields='__all__',
|
||||||
|
exclude=('start', 'end',), # bug - temp
|
||||||
filters=ASNRangeFilter
|
filters=ASNRangeFilter
|
||||||
)
|
)
|
||||||
class ASNRangeType(NetBoxObjectType):
|
class ASNRangeType(NetBoxObjectType):
|
||||||
@ -69,7 +71,8 @@ class ASNRangeType(NetBoxObjectType):
|
|||||||
|
|
||||||
@strawberry_django.type(
|
@strawberry_django.type(
|
||||||
models.Aggregate,
|
models.Aggregate,
|
||||||
fields='__all__',
|
# fields='__all__',
|
||||||
|
exclude=('prefix',), # bug - temp
|
||||||
filters=AggregateFilter
|
filters=AggregateFilter
|
||||||
)
|
)
|
||||||
class AggregateType(NetBoxObjectType, BaseIPAddressFamilyType):
|
class AggregateType(NetBoxObjectType, BaseIPAddressFamilyType):
|
||||||
@ -99,7 +102,7 @@ class FHRPGroupAssignmentType(BaseObjectType):
|
|||||||
|
|
||||||
@strawberry_django.type(
|
@strawberry_django.type(
|
||||||
models.IPAddress,
|
models.IPAddress,
|
||||||
exclude=('assigned_object_type', 'assigned_object_id'),
|
exclude=('assigned_object_type', 'assigned_object_id', 'address'),
|
||||||
filters=IPAddressFilter
|
filters=IPAddressFilter
|
||||||
)
|
)
|
||||||
class IPAddressType(NetBoxObjectType, BaseIPAddressFamilyType):
|
class IPAddressType(NetBoxObjectType, BaseIPAddressFamilyType):
|
||||||
@ -111,7 +114,8 @@ class IPAddressType(NetBoxObjectType, BaseIPAddressFamilyType):
|
|||||||
|
|
||||||
@strawberry_django.type(
|
@strawberry_django.type(
|
||||||
models.IPRange,
|
models.IPRange,
|
||||||
fields='__all__',
|
# fields='__all__',
|
||||||
|
exclude=('start_address', 'end_address',), # bug - temp
|
||||||
filters=IPRangeFilter
|
filters=IPRangeFilter
|
||||||
)
|
)
|
||||||
class IPRangeType(NetBoxObjectType):
|
class IPRangeType(NetBoxObjectType):
|
||||||
@ -122,7 +126,8 @@ class IPRangeType(NetBoxObjectType):
|
|||||||
|
|
||||||
@strawberry_django.type(
|
@strawberry_django.type(
|
||||||
models.Prefix,
|
models.Prefix,
|
||||||
fields='__all__',
|
# fields='__all__',
|
||||||
|
exclude=('prefix',), # bug - temp
|
||||||
filters=PrefixFilter
|
filters=PrefixFilter
|
||||||
)
|
)
|
||||||
class PrefixType(NetBoxObjectType, BaseIPAddressFamilyType):
|
class PrefixType(NetBoxObjectType, BaseIPAddressFamilyType):
|
||||||
@ -158,7 +163,8 @@ class RouteTargetType(NetBoxObjectType):
|
|||||||
|
|
||||||
@strawberry_django.type(
|
@strawberry_django.type(
|
||||||
models.Service,
|
models.Service,
|
||||||
fields='__all__',
|
# fields='__all__',
|
||||||
|
exclude=('ports',), # bug - temp
|
||||||
filters=ServiceFilter
|
filters=ServiceFilter
|
||||||
)
|
)
|
||||||
class ServiceType(NetBoxObjectType):
|
class ServiceType(NetBoxObjectType):
|
||||||
@ -167,7 +173,8 @@ class ServiceType(NetBoxObjectType):
|
|||||||
|
|
||||||
@strawberry_django.type(
|
@strawberry_django.type(
|
||||||
models.ServiceTemplate,
|
models.ServiceTemplate,
|
||||||
fields='__all__',
|
# fields='__all__',
|
||||||
|
exclude=('ports',), # bug - temp
|
||||||
filters=ServiceTemplateFilter
|
filters=ServiceTemplateFilter
|
||||||
)
|
)
|
||||||
class ServiceTemplateType(NetBoxObjectType):
|
class ServiceTemplateType(NetBoxObjectType):
|
||||||
|
@ -1,10 +1,14 @@
|
|||||||
import strawberry
|
import strawberry
|
||||||
from strawberry_django.optimizer import DjangoOptimizerExtension
|
from strawberry_django.optimizer import DjangoOptimizerExtension
|
||||||
from strawberry.schema.config import StrawberryConfig
|
from strawberry.schema.config import StrawberryConfig
|
||||||
|
|
||||||
from circuits.graphql.schema import CircuitsQuery
|
from circuits.graphql.schema import CircuitsQuery
|
||||||
from core.graphql.schema import CoreQuery
|
from core.graphql.schema import CoreQuery
|
||||||
from dcim.graphql.schema import DCIMQuery
|
from dcim.graphql.schema import DCIMQuery
|
||||||
from extras.graphql.schema import ExtrasQuery
|
from extras.graphql.schema import ExtrasQuery
|
||||||
|
from ipam.graphql.schema import IPAMQuery
|
||||||
|
from netbox.registry import registry
|
||||||
|
from tenancy.graphql.schema import TenancyQuery
|
||||||
from users.graphql.schema import UsersQuery
|
from users.graphql.schema import UsersQuery
|
||||||
# from virtualization.graphql.schema import VirtualizationQuery
|
# from virtualization.graphql.schema import VirtualizationQuery
|
||||||
# from vpn.graphql.schema import VPNQuery
|
# from vpn.graphql.schema import VPNQuery
|
||||||
@ -18,13 +22,12 @@ class Query(
|
|||||||
CoreQuery,
|
CoreQuery,
|
||||||
DCIMQuery,
|
DCIMQuery,
|
||||||
ExtrasQuery,
|
ExtrasQuery,
|
||||||
# IPAMQuery,
|
IPAMQuery,
|
||||||
# TenancyQuery,
|
TenancyQuery,
|
||||||
# VirtualizationQuery,
|
# VirtualizationQuery,
|
||||||
# VPNQuery,
|
# VPNQuery,
|
||||||
# WirelessQuery,
|
# WirelessQuery,
|
||||||
# *registry['plugins']['graphql_schemas'], # Append plugin schemas
|
*registry['plugins']['graphql_schemas'], # Append plugin schemas
|
||||||
# graphene.ObjectType
|
|
||||||
):
|
):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -0,0 +1,45 @@
|
|||||||
|
import strawberry
|
||||||
|
import strawberry_django
|
||||||
|
from strawberry import auto
|
||||||
|
from tenancy import models, filtersets
|
||||||
|
from netbox.graphql import filters
|
||||||
|
|
||||||
|
|
||||||
|
__all__ = (
|
||||||
|
'TenantFilter',
|
||||||
|
'TenantGroupFilter',
|
||||||
|
'ContactFilter',
|
||||||
|
'ContactRoleFilter',
|
||||||
|
'ContactGroupFilter',
|
||||||
|
'ContactAssignmentFilter',
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@strawberry_django.filter(models.Tenant, lookups=True)
|
||||||
|
class TenantFilter(filtersets.TenantFilterSet):
|
||||||
|
id: auto
|
||||||
|
|
||||||
|
|
||||||
|
@strawberry_django.filter(models.TenantGroup, lookups=True)
|
||||||
|
class TenantGroupFilter(filtersets.TenantGroupFilterSet):
|
||||||
|
id: auto
|
||||||
|
|
||||||
|
|
||||||
|
@strawberry_django.filter(models.Contact, lookups=True)
|
||||||
|
class ContactFilter(filtersets.ContactFilterSet):
|
||||||
|
id: auto
|
||||||
|
|
||||||
|
|
||||||
|
@strawberry_django.filter(models.ContactRole, lookups=True)
|
||||||
|
class ContactRoleFilter(filtersets.ContactRoleFilterSet):
|
||||||
|
id: auto
|
||||||
|
|
||||||
|
|
||||||
|
@strawberry_django.filter(models.ContactGroup, lookups=True)
|
||||||
|
class ContactGroupFilter(filtersets.ContactGroupFilterSet):
|
||||||
|
id: auto
|
||||||
|
|
||||||
|
|
||||||
|
@strawberry_django.filter(models.ContactAssignment, lookups=True)
|
||||||
|
class ContactAssignmentFilter(filtersets.ContactAssignmentFilterSet):
|
||||||
|
id: auto
|
@ -1,44 +1,27 @@
|
|||||||
import graphene
|
from typing import List
|
||||||
|
import strawberry
|
||||||
|
import strawberry_django
|
||||||
|
|
||||||
from netbox.graphql.fields import ObjectField, ObjectListField
|
from circuits import models
|
||||||
from tenancy import models
|
|
||||||
from .types import *
|
from .types import *
|
||||||
from utilities.graphql_optimizer import gql_query_optimizer
|
|
||||||
|
|
||||||
|
|
||||||
class TenancyQuery(graphene.ObjectType):
|
@strawberry.type
|
||||||
tenant = ObjectField(TenantType)
|
class TenancyQuery:
|
||||||
tenant_list = ObjectListField(TenantType)
|
tenant: TenantType = strawberry_django.field()
|
||||||
|
tenant_list: List[TenantType] = strawberry_django.field()
|
||||||
|
|
||||||
def resolve_tenant_list(root, info, **kwargs):
|
tenant_group: TenantGroupType = strawberry_django.field()
|
||||||
return gql_query_optimizer(models.Tenant.objects.all(), info)
|
tenant_group_list: List[TenantGroupType] = strawberry_django.field()
|
||||||
|
|
||||||
tenant_group = ObjectField(TenantGroupType)
|
contact: ContactType = strawberry_django.field()
|
||||||
tenant_group_list = ObjectListField(TenantGroupType)
|
contact_list: List[ContactType] = strawberry_django.field()
|
||||||
|
|
||||||
def resolve_tenant_group_list(root, info, **kwargs):
|
contact_role: ContactRoleType = strawberry_django.field()
|
||||||
return gql_query_optimizer(models.TenantGroup.objects.all(), info)
|
contact_role_list: List[ContactRoleType] = strawberry_django.field()
|
||||||
|
|
||||||
contact = ObjectField(ContactType)
|
contact_group: ContactGroupType = strawberry_django.field()
|
||||||
contact_list = ObjectListField(ContactType)
|
contact_group_list: List[ContactGroupType] = strawberry_django.field()
|
||||||
|
|
||||||
def resolve_contact_list(root, info, **kwargs):
|
contact_assignment: ContactAssignmentType = strawberry_django.field()
|
||||||
return gql_query_optimizer(models.Contact.objects.all(), info)
|
contact_assignment_list: List[ContactAssignmentType] = strawberry_django.field()
|
||||||
|
|
||||||
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)
|
|
||||||
|
@ -30,7 +30,7 @@ class ContactAssignmentsMixin:
|
|||||||
@strawberry_django.type(
|
@strawberry_django.type(
|
||||||
models.Tenant,
|
models.Tenant,
|
||||||
fields='__all__',
|
fields='__all__',
|
||||||
# filters=TenantFilter
|
filters=TenantFilter
|
||||||
)
|
)
|
||||||
class TenantType(NetBoxObjectType):
|
class TenantType(NetBoxObjectType):
|
||||||
pass
|
pass
|
||||||
@ -38,8 +38,9 @@ class TenantType(NetBoxObjectType):
|
|||||||
|
|
||||||
@strawberry_django.type(
|
@strawberry_django.type(
|
||||||
models.TenantGroup,
|
models.TenantGroup,
|
||||||
fields='__all__',
|
# fields='__all__',
|
||||||
# filters=TenantGroupFilter
|
exclude=('parent',), # bug - temp
|
||||||
|
filters=TenantGroupFilter
|
||||||
)
|
)
|
||||||
class TenantGroupType(OrganizationalObjectType):
|
class TenantGroupType(OrganizationalObjectType):
|
||||||
pass
|
pass
|
||||||
@ -52,7 +53,7 @@ class TenantGroupType(OrganizationalObjectType):
|
|||||||
@strawberry_django.type(
|
@strawberry_django.type(
|
||||||
models.Contact,
|
models.Contact,
|
||||||
fields='__all__',
|
fields='__all__',
|
||||||
# filters=ContactFilter
|
filters=ContactFilter
|
||||||
)
|
)
|
||||||
class ContactType(ContactAssignmentsMixin, NetBoxObjectType):
|
class ContactType(ContactAssignmentsMixin, NetBoxObjectType):
|
||||||
pass
|
pass
|
||||||
@ -61,7 +62,7 @@ class ContactType(ContactAssignmentsMixin, NetBoxObjectType):
|
|||||||
@strawberry_django.type(
|
@strawberry_django.type(
|
||||||
models.ContactRole,
|
models.ContactRole,
|
||||||
fields='__all__',
|
fields='__all__',
|
||||||
# filters=ContactRoleFilter
|
filters=ContactRoleFilter
|
||||||
)
|
)
|
||||||
class ContactRoleType(ContactAssignmentsMixin, OrganizationalObjectType):
|
class ContactRoleType(ContactAssignmentsMixin, OrganizationalObjectType):
|
||||||
pass
|
pass
|
||||||
@ -69,8 +70,9 @@ class ContactRoleType(ContactAssignmentsMixin, OrganizationalObjectType):
|
|||||||
|
|
||||||
@strawberry_django.type(
|
@strawberry_django.type(
|
||||||
models.ContactGroup,
|
models.ContactGroup,
|
||||||
fields='__all__',
|
# fields='__all__',
|
||||||
# filters=ContactGroupFilter
|
exclude=('parent',), # bug - temp
|
||||||
|
filters=ContactGroupFilter
|
||||||
)
|
)
|
||||||
class ContactGroupType(OrganizationalObjectType):
|
class ContactGroupType(OrganizationalObjectType):
|
||||||
pass
|
pass
|
||||||
@ -79,7 +81,7 @@ class ContactGroupType(OrganizationalObjectType):
|
|||||||
@strawberry_django.type(
|
@strawberry_django.type(
|
||||||
models.ContactAssignment,
|
models.ContactAssignment,
|
||||||
fields='__all__',
|
fields='__all__',
|
||||||
# filters=ContactAssignmentFilter
|
filters=ContactAssignmentFilter
|
||||||
)
|
)
|
||||||
class ContactAssignmentType(CustomFieldsMixin, TagsMixin, BaseObjectType):
|
class ContactAssignmentType(CustomFieldsMixin, TagsMixin, BaseObjectType):
|
||||||
pass
|
pass
|
||||||
|
Loading…
Reference in New Issue
Block a user