|
|
@@ -1,249 +1,129 @@
|
|
|
-import graphene
|
|
|
+from typing import List
|
|
|
+import strawberry
|
|
|
+import strawberry_django
|
|
|
|
|
|
-from netbox.graphql.fields import ObjectField, ObjectListField
|
|
|
+from circuits import models
|
|
|
from .types import *
|
|
|
-from dcim import models
|
|
|
-from .types import VirtualDeviceContextType
|
|
|
-from utilities.graphql_optimizer import gql_query_optimizer
|
|
|
|
|
|
|
|
|
-class DCIMQuery(graphene.ObjectType):
|
|
|
- cable = ObjectField(CableType)
|
|
|
- cable_list = ObjectListField(CableType)
|
|
|
+@strawberry.type
|
|
|
+class DCIMQuery:
|
|
|
+ cable: CableType = strawberry_django.field()
|
|
|
+ cable_list: List[CableType] = strawberry_django.field()
|
|
|
|
|
|
- def resolve_cable_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.Cable.objects.all(), info)
|
|
|
+ console_port: ConsolePortType = strawberry_django.field()
|
|
|
+ console_port_list: List[ConsolePortType] = strawberry_django.field()
|
|
|
|
|
|
- console_port = ObjectField(ConsolePortType)
|
|
|
- console_port_list = ObjectListField(ConsolePortType)
|
|
|
+ console_port_template: ConsolePortTemplateType = strawberry_django.field()
|
|
|
+ console_port_template_list: List[ConsolePortTemplateType] = strawberry_django.field()
|
|
|
|
|
|
- def resolve_console_port_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.ConsolePort.objects.all(), info)
|
|
|
+ console_server_port: ConsoleServerPortType = strawberry_django.field()
|
|
|
+ console_server_port_list: List[ConsoleServerPortType] = strawberry_django.field()
|
|
|
|
|
|
- console_port_template = ObjectField(ConsolePortTemplateType)
|
|
|
- console_port_template_list = ObjectListField(ConsolePortTemplateType)
|
|
|
+ console_server_port_template: ConsoleServerPortTemplateType = strawberry_django.field()
|
|
|
+ console_server_port_template_list: List[ConsoleServerPortTemplateType] = strawberry_django.field()
|
|
|
|
|
|
- def resolve_console_port_template_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.ConsolePortTemplate.objects.all(), info)
|
|
|
+ device: DeviceType = strawberry_django.field()
|
|
|
+ device_list: List[DeviceType] = strawberry_django.field()
|
|
|
|
|
|
- console_server_port = ObjectField(ConsoleServerPortType)
|
|
|
- console_server_port_list = ObjectListField(ConsoleServerPortType)
|
|
|
+ device_bay: DeviceBayType = strawberry_django.field()
|
|
|
+ device_bay_list: List[DeviceBayType] = strawberry_django.field()
|
|
|
|
|
|
- def resolve_console_server_port_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.ConsoleServerPort.objects.all(), info)
|
|
|
+ device_bay_template: DeviceBayTemplateType = strawberry_django.field()
|
|
|
+ device_bay_template_list: List[DeviceBayTemplateType] = strawberry_django.field()
|
|
|
|
|
|
- console_server_port_template = ObjectField(ConsoleServerPortTemplateType)
|
|
|
- console_server_port_template_list = ObjectListField(ConsoleServerPortTemplateType)
|
|
|
+ device_role: DeviceRoleType = strawberry_django.field()
|
|
|
+ device_role_list: List[DeviceRoleType] = strawberry_django.field()
|
|
|
|
|
|
- def resolve_console_server_port_template_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.ConsoleServerPortTemplate.objects.all(), info)
|
|
|
+ device_type: DeviceTypeType = strawberry_django.field()
|
|
|
+ device_type_list: List[DeviceTypeType] = strawberry_django.field()
|
|
|
|
|
|
- device = ObjectField(DeviceType)
|
|
|
- device_list = ObjectListField(DeviceType)
|
|
|
+ front_port: FrontPortType = strawberry_django.field()
|
|
|
+ front_port_list: List[FrontPortType] = strawberry_django.field()
|
|
|
|
|
|
- def resolve_device_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.Device.objects.all(), info)
|
|
|
+ front_port_template: FrontPortTemplateType = strawberry_django.field()
|
|
|
+ front_port_template_list: List[FrontPortTemplateType] = strawberry_django.field()
|
|
|
|
|
|
- device_bay = ObjectField(DeviceBayType)
|
|
|
- device_bay_list = ObjectListField(DeviceBayType)
|
|
|
+ interface: InterfaceType = strawberry_django.field()
|
|
|
+ interface_list: List[InterfaceType] = strawberry_django.field()
|
|
|
|
|
|
- def resolve_device_bay_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.DeviceBay.objects.all(), info)
|
|
|
+ interface_template: InterfaceTemplateType = strawberry_django.field()
|
|
|
+ interface_template_list: List[InterfaceTemplateType] = strawberry_django.field()
|
|
|
|
|
|
- device_bay_template = ObjectField(DeviceBayTemplateType)
|
|
|
- device_bay_template_list = ObjectListField(DeviceBayTemplateType)
|
|
|
+ inventory_item: InventoryItemType = strawberry_django.field()
|
|
|
+ inventory_item_list: List[InventoryItemType] = strawberry_django.field()
|
|
|
|
|
|
- def resolve_device_bay_template_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.DeviceBayTemplate.objects.all(), info)
|
|
|
+ inventory_item_role: InventoryItemRoleType = strawberry_django.field()
|
|
|
+ inventory_item_role_list: List[InventoryItemRoleType] = strawberry_django.field()
|
|
|
|
|
|
- device_role = ObjectField(DeviceRoleType)
|
|
|
- device_role_list = ObjectListField(DeviceRoleType)
|
|
|
+ inventory_item_template: InventoryItemTemplateType = strawberry_django.field()
|
|
|
+ inventory_item_template_list: List[InventoryItemTemplateType] = strawberry_django.field()
|
|
|
|
|
|
- def resolve_device_role_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.DeviceRole.objects.all(), info)
|
|
|
+ location: LocationType = strawberry_django.field()
|
|
|
+ location_list: List[LocationType] = strawberry_django.field()
|
|
|
|
|
|
- device_type = ObjectField(DeviceTypeType)
|
|
|
- device_type_list = ObjectListField(DeviceTypeType)
|
|
|
+ manufacturer: ManufacturerType = strawberry_django.field()
|
|
|
+ manufacturer_list: List[ManufacturerType] = strawberry_django.field()
|
|
|
|
|
|
- def resolve_device_type_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.DeviceType.objects.all(), info)
|
|
|
+ module: ModuleType = strawberry_django.field()
|
|
|
+ module_list: List[ModuleType] = strawberry_django.field()
|
|
|
|
|
|
- front_port = ObjectField(FrontPortType)
|
|
|
- front_port_list = ObjectListField(FrontPortType)
|
|
|
+ module_bay: ModuleBayType = strawberry_django.field()
|
|
|
+ module_bay_list: List[ModuleBayType] = strawberry_django.field()
|
|
|
|
|
|
- def resolve_front_port_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.FrontPort.objects.all(), info)
|
|
|
+ module_bay_template: ModuleBayTemplateType = strawberry_django.field()
|
|
|
+ module_bay_template_list: List[ModuleBayTemplateType] = strawberry_django.field()
|
|
|
|
|
|
- front_port_template = ObjectField(FrontPortTemplateType)
|
|
|
- front_port_template_list = ObjectListField(FrontPortTemplateType)
|
|
|
+ module_type: ModuleTypeType = strawberry_django.field()
|
|
|
+ module_type_list: List[ModuleTypeType] = strawberry_django.field()
|
|
|
|
|
|
- def resolve_front_port_template_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.FrontPortTemplate.objects.all(), info)
|
|
|
+ platform: PlatformType = strawberry_django.field()
|
|
|
+ platform_list: List[PlatformType] = strawberry_django.field()
|
|
|
|
|
|
- interface = ObjectField(InterfaceType)
|
|
|
- interface_list = ObjectListField(InterfaceType)
|
|
|
+ power_feed: PowerFeedType = strawberry_django.field()
|
|
|
+ power_feed_list: List[PowerFeedType] = strawberry_django.field()
|
|
|
|
|
|
- def resolve_interface_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.Interface.objects.all(), info)
|
|
|
+ power_outlet: PowerOutletType = strawberry_django.field()
|
|
|
+ power_outlet_list: List[PowerOutletType] = strawberry_django.field()
|
|
|
|
|
|
- interface_template = ObjectField(InterfaceTemplateType)
|
|
|
- interface_template_list = ObjectListField(InterfaceTemplateType)
|
|
|
+ power_outlet_template: PowerOutletTemplateType = strawberry_django.field()
|
|
|
+ power_outlet_template_list: List[PowerOutletTemplateType] = strawberry_django.field()
|
|
|
|
|
|
- def resolve_interface_template_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.InterfaceTemplate.objects.all(), info)
|
|
|
+ power_panel: PowerPanelType = strawberry_django.field()
|
|
|
+ power_panel_list: List[PowerPanelType] = strawberry_django.field()
|
|
|
|
|
|
- inventory_item = ObjectField(InventoryItemType)
|
|
|
- inventory_item_list = ObjectListField(InventoryItemType)
|
|
|
+ power_port: PowerPortType = strawberry_django.field()
|
|
|
+ power_port_list: List[PowerPortType] = strawberry_django.field()
|
|
|
|
|
|
- def resolve_inventory_item_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.InventoryItem.objects.all(), info)
|
|
|
+ power_port_template: PowerPortTemplateType = strawberry_django.field()
|
|
|
+ power_port_template_list: List[PowerPortTemplateType] = strawberry_django.field()
|
|
|
|
|
|
- inventory_item_role = ObjectField(InventoryItemRoleType)
|
|
|
- inventory_item_role_list = ObjectListField(InventoryItemRoleType)
|
|
|
+ rack: RackType = strawberry_django.field()
|
|
|
+ rack_list: List[RackType] = strawberry_django.field()
|
|
|
|
|
|
- def resolve_inventory_item_role_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.InventoryItemRole.objects.all(), info)
|
|
|
+ rack_reservation: RackReservationType = strawberry_django.field()
|
|
|
+ rack_reservation_list: List[RackReservationType] = strawberry_django.field()
|
|
|
|
|
|
- inventory_item_template = ObjectField(InventoryItemTemplateType)
|
|
|
- inventory_item_template_list = ObjectListField(InventoryItemTemplateType)
|
|
|
+ rack_role: RackRoleType = strawberry_django.field()
|
|
|
+ rack_role_list: List[RackRoleType] = strawberry_django.field()
|
|
|
|
|
|
- def resolve_inventory_item_template_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.InventoryItemTemplate.objects.all(), info)
|
|
|
+ rear_port: RearPortType = strawberry_django.field()
|
|
|
+ rear_port_list: List[RearPortType] = strawberry_django.field()
|
|
|
|
|
|
- location = ObjectField(LocationType)
|
|
|
- location_list = ObjectListField(LocationType)
|
|
|
+ rear_port_template: RearPortTemplateType = strawberry_django.field()
|
|
|
+ rear_port_template_list: List[RearPortTemplateType] = strawberry_django.field()
|
|
|
|
|
|
- def resolve_location_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.Location.objects.all(), info)
|
|
|
+ region: RegionType = strawberry_django.field()
|
|
|
+ region_list: List[RegionType] = strawberry_django.field()
|
|
|
|
|
|
- manufacturer = ObjectField(ManufacturerType)
|
|
|
- manufacturer_list = ObjectListField(ManufacturerType)
|
|
|
+ site: SiteType = strawberry_django.field()
|
|
|
+ site_list: List[SiteType] = strawberry_django.field()
|
|
|
|
|
|
- def resolve_manufacturer_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.Manufacturer.objects.all(), info)
|
|
|
+ site_group: SiteGroupType = strawberry_django.field()
|
|
|
+ site_group_list: List[SiteGroupType] = strawberry_django.field()
|
|
|
|
|
|
- module = ObjectField(ModuleType)
|
|
|
- module_list = ObjectListField(ModuleType)
|
|
|
+ virtual_chassis: VirtualChassisType = strawberry_django.field()
|
|
|
+ virtual_chassis_list: List[VirtualChassisType] = strawberry_django.field()
|
|
|
|
|
|
- def resolve_module_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.Module.objects.all(), info)
|
|
|
-
|
|
|
- module_bay = ObjectField(ModuleBayType)
|
|
|
- module_bay_list = ObjectListField(ModuleBayType)
|
|
|
-
|
|
|
- def resolve_module_bay_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.ModuleBay.objects.all(), info)
|
|
|
-
|
|
|
- module_bay_template = ObjectField(ModuleBayTemplateType)
|
|
|
- module_bay_template_list = ObjectListField(ModuleBayTemplateType)
|
|
|
-
|
|
|
- def resolve_module_bay_template_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.ModuleBayTemplate.objects.all(), info)
|
|
|
-
|
|
|
- module_type = ObjectField(ModuleTypeType)
|
|
|
- module_type_list = ObjectListField(ModuleTypeType)
|
|
|
-
|
|
|
- def resolve_module_type_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.ModuleType.objects.all(), info)
|
|
|
-
|
|
|
- platform = ObjectField(PlatformType)
|
|
|
- platform_list = ObjectListField(PlatformType)
|
|
|
-
|
|
|
- def resolve_platform_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.Platform.objects.all(), info)
|
|
|
-
|
|
|
- power_feed = ObjectField(PowerFeedType)
|
|
|
- power_feed_list = ObjectListField(PowerFeedType)
|
|
|
-
|
|
|
- def resolve_power_feed_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.PowerFeed.objects.all(), info)
|
|
|
-
|
|
|
- power_outlet = ObjectField(PowerOutletType)
|
|
|
- power_outlet_list = ObjectListField(PowerOutletType)
|
|
|
-
|
|
|
- def resolve_power_outlet_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.PowerOutlet.objects.all(), info)
|
|
|
-
|
|
|
- power_outlet_template = ObjectField(PowerOutletTemplateType)
|
|
|
- power_outlet_template_list = ObjectListField(PowerOutletTemplateType)
|
|
|
-
|
|
|
- def resolve_power_outlet_template_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.PowerOutletTemplate.objects.all(), info)
|
|
|
-
|
|
|
- power_panel = ObjectField(PowerPanelType)
|
|
|
- power_panel_list = ObjectListField(PowerPanelType)
|
|
|
-
|
|
|
- def resolve_power_panel_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.PowerPanel.objects.all(), info)
|
|
|
-
|
|
|
- power_port = ObjectField(PowerPortType)
|
|
|
- power_port_list = ObjectListField(PowerPortType)
|
|
|
-
|
|
|
- def resolve_power_port_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.PowerPort.objects.all(), info)
|
|
|
-
|
|
|
- power_port_template = ObjectField(PowerPortTemplateType)
|
|
|
- power_port_template_list = ObjectListField(PowerPortTemplateType)
|
|
|
-
|
|
|
- def resolve_power_port_template_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.PowerPortTemplate.objects.all(), info)
|
|
|
-
|
|
|
- rack = ObjectField(RackType)
|
|
|
- rack_list = ObjectListField(RackType)
|
|
|
-
|
|
|
- def resolve_rack_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.Rack.objects.all(), info)
|
|
|
-
|
|
|
- rack_reservation = ObjectField(RackReservationType)
|
|
|
- rack_reservation_list = ObjectListField(RackReservationType)
|
|
|
-
|
|
|
- def resolve_rack_reservation_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.RackReservation.objects.all(), info)
|
|
|
-
|
|
|
- rack_role = ObjectField(RackRoleType)
|
|
|
- rack_role_list = ObjectListField(RackRoleType)
|
|
|
-
|
|
|
- def resolve_rack_role_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.RackRole.objects.all(), info)
|
|
|
-
|
|
|
- rear_port = ObjectField(RearPortType)
|
|
|
- rear_port_list = ObjectListField(RearPortType)
|
|
|
-
|
|
|
- def resolve_rear_port_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.RearPort.objects.all(), info)
|
|
|
-
|
|
|
- rear_port_template = ObjectField(RearPortTemplateType)
|
|
|
- rear_port_template_list = ObjectListField(RearPortTemplateType)
|
|
|
-
|
|
|
- def resolve_rear_port_template_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.RearPortTemplate.objects.all(), info)
|
|
|
-
|
|
|
- region = ObjectField(RegionType)
|
|
|
- region_list = ObjectListField(RegionType)
|
|
|
-
|
|
|
- def resolve_region_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.Region.objects.all(), info)
|
|
|
-
|
|
|
- site = ObjectField(SiteType)
|
|
|
- site_list = ObjectListField(SiteType)
|
|
|
-
|
|
|
- def resolve_site_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.Site.objects.all(), info)
|
|
|
-
|
|
|
- site_group = ObjectField(SiteGroupType)
|
|
|
- site_group_list = ObjectListField(SiteGroupType)
|
|
|
-
|
|
|
- def resolve_site_group_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.SiteGroup.objects.all(), info)
|
|
|
-
|
|
|
- virtual_chassis = ObjectField(VirtualChassisType)
|
|
|
- virtual_chassis_list = ObjectListField(VirtualChassisType)
|
|
|
-
|
|
|
- def resolve_virtual_chassis_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.VirtualChassis.objects.all(), info)
|
|
|
-
|
|
|
- virtual_device_context = ObjectField(VirtualDeviceContextType)
|
|
|
- virtual_device_context_list = ObjectListField(VirtualDeviceContextType)
|
|
|
-
|
|
|
- def resolve_virtual_device_context_list(root, info, **kwargs):
|
|
|
- return gql_query_optimizer(models.VirtualDeviceContext.objects.all(), info)
|
|
|
+ virtual_device_context: VirtualDeviceContextType = strawberry_django.field()
|
|
|
+ virtual_device_context_list: List[VirtualDeviceContextType] = strawberry_django.field()
|