|
|
@@ -1,104 +1,57 @@
|
|
|
-import graphene
|
|
|
+from typing import List
|
|
|
+import strawberry
|
|
|
+import strawberry_django
|
|
|
|
|
|
from ipam import models
|
|
|
-from netbox.graphql.fields import ObjectField, ObjectListField
|
|
|
-from utilities.graphql_optimizer import gql_query_optimizer
|
|
|
from .types import *
|
|
|
|
|
|
|
|
|
-class IPAMQuery(graphene.ObjectType):
|
|
|
- asn = ObjectField(ASNType)
|
|
|
- asn_list = ObjectListField(ASNType)
|
|
|
+@strawberry.type
|
|
|
+class IPAMQuery:
|
|
|
+ asn: ASNType = strawberry_django.field()
|
|
|
+ asn_list: List[ASNType] = strawberry_django.field()
|
|
|
|
|
|
- def resolve_asn_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.ASN.objects.all(), info)
|
|
|
+ asn_range: ASNRangeType = strawberry_django.field()
|
|
|
+ asn_range_list: List[ASNRangeType] = strawberry_django.field()
|
|
|
|
|
|
- asn_range = ObjectField(ASNRangeType)
|
|
|
- asn_range_list = ObjectListField(ASNRangeType)
|
|
|
+ aggregate: AggregateType = strawberry_django.field()
|
|
|
+ aggregate_list: List[AggregateType] = strawberry_django.field()
|
|
|
|
|
|
- def resolve_asn_range_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.ASNRange.objects.all(), info)
|
|
|
+ ip_address: IPAddressType = strawberry_django.field()
|
|
|
+ ip_address_list: List[IPAddressType] = strawberry_django.field()
|
|
|
|
|
|
- aggregate = ObjectField(AggregateType)
|
|
|
- aggregate_list = ObjectListField(AggregateType)
|
|
|
+ ip_range: IPRangeType = strawberry_django.field()
|
|
|
+ ip_range_list: List[IPRangeType] = strawberry_django.field()
|
|
|
|
|
|
- def resolve_aggregate_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.Aggregate.objects.all(), info)
|
|
|
+ prefix: PrefixType = strawberry_django.field()
|
|
|
+ prefix_list: List[PrefixType] = strawberry_django.field()
|
|
|
|
|
|
- ip_address = ObjectField(IPAddressType)
|
|
|
- ip_address_list = ObjectListField(IPAddressType)
|
|
|
+ rir: RIRType = strawberry_django.field()
|
|
|
+ rir_list: List[RIRType] = strawberry_django.field()
|
|
|
|
|
|
- def resolve_ip_address_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.IPAddress.objects.all(), info)
|
|
|
+ role: RoleType = strawberry_django.field()
|
|
|
+ role_list: List[RoleType] = strawberry_django.field()
|
|
|
|
|
|
- ip_range = ObjectField(IPRangeType)
|
|
|
- ip_range_list = ObjectListField(IPRangeType)
|
|
|
+ route_target: RouteTargetType = strawberry_django.field()
|
|
|
+ route_target_list: List[RouteTargetType] = strawberry_django.field()
|
|
|
|
|
|
- def resolve_ip_range_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.IPRange.objects.all(), info)
|
|
|
+ service: ServiceType = strawberry_django.field()
|
|
|
+ service_list: List[ServiceType] = strawberry_django.field()
|
|
|
|
|
|
- prefix = ObjectField(PrefixType)
|
|
|
- prefix_list = ObjectListField(PrefixType)
|
|
|
+ service_template: ServiceTemplateType = strawberry_django.field()
|
|
|
+ service_template_list: List[ServiceTemplateType] = strawberry_django.field()
|
|
|
|
|
|
- def resolve_prefix_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.Prefix.objects.all(), info)
|
|
|
+ fhrp_group: FHRPGroupType = strawberry_django.field()
|
|
|
+ fhrp_group_list: List[FHRPGroupType] = strawberry_django.field()
|
|
|
|
|
|
- rir = ObjectField(RIRType)
|
|
|
- rir_list = ObjectListField(RIRType)
|
|
|
+ fhrp_group_assignment: FHRPGroupAssignmentType = strawberry_django.field()
|
|
|
+ fhrp_group_assignment_list: List[FHRPGroupAssignmentType] = strawberry_django.field()
|
|
|
|
|
|
- def resolve_rir_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.RIR.objects.all(), info)
|
|
|
+ vlan: VLANType = strawberry_django.field()
|
|
|
+ vlan_list: List[VLANType] = strawberry_django.field()
|
|
|
|
|
|
- role = ObjectField(RoleType)
|
|
|
- role_list = ObjectListField(RoleType)
|
|
|
+ vlan_group: VLANGroupType = strawberry_django.field()
|
|
|
+ vlan_group_list: List[VLANGroupType] = strawberry_django.field()
|
|
|
|
|
|
- def resolve_role_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.Role.objects.all(), info)
|
|
|
-
|
|
|
- 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)
|
|
|
+ vrf: VRFType = strawberry_django.field()
|
|
|
+ vrf_list: List[VRFType] = strawberry_django.field()
|