schema.py 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. from typing import List
  2. import strawberry
  3. import strawberry_django
  4. from dcim import models
  5. from .types import *
  6. @strawberry.type
  7. class DCIMQuery:
  8. @strawberry.field
  9. def cable(self, id: int) -> CableType:
  10. return models.Cable.objects.get(id=id)
  11. cable_list: List[CableType] = strawberry_django.field()
  12. @strawberry.field
  13. def console_port(self, id: int) -> ConsolePortType:
  14. return models.ConsolePort.objects.get(id=id)
  15. console_port_list: List[ConsolePortType] = strawberry_django.field()
  16. @strawberry.field
  17. def console_port_template(self, id: int) -> ConsolePortTemplateType:
  18. return models.ConsolePortTemplate.objects.get(id=id)
  19. console_port_template_list: List[ConsolePortTemplateType] = strawberry_django.field()
  20. @strawberry.field
  21. def console_server_port(self, id: int) -> ConsoleServerPortType:
  22. return models.ConsoleServerPort.objects.get(id=id)
  23. console_server_port_list: List[ConsoleServerPortType] = strawberry_django.field()
  24. @strawberry.field
  25. def console_server_port_template(self, id: int) -> ConsoleServerPortTemplateType:
  26. return models.ConsoleServerPortTemplate.objects.get(id=id)
  27. console_server_port_template_list: List[ConsoleServerPortTemplateType] = strawberry_django.field()
  28. @strawberry.field
  29. def device(self, id: int) -> DeviceType:
  30. return models.Device.objects.get(id=id)
  31. device_list: List[DeviceType] = strawberry_django.field()
  32. @strawberry.field
  33. def device_bay(self, id: int) -> DeviceBayType:
  34. return models.DeviceBay.objects.get(id=id)
  35. device_bay_list: List[DeviceBayType] = strawberry_django.field()
  36. @strawberry.field
  37. def device_bay_template(self, id: int) -> DeviceBayTemplateType:
  38. return models.DeviceBayTemplate.objects.get(id=id)
  39. device_bay_template_list: List[DeviceBayTemplateType] = strawberry_django.field()
  40. @strawberry.field
  41. def device_role(self, id: int) -> DeviceRoleType:
  42. return models.DeviceRole.objects.get(id=id)
  43. device_role_list: List[DeviceRoleType] = strawberry_django.field()
  44. @strawberry.field
  45. def device_type(self, id: int) -> DeviceTypeType:
  46. return models.DeviceType.objects.get(id=id)
  47. device_type_list: List[DeviceTypeType] = strawberry_django.field()
  48. @strawberry.field
  49. def front_port(self, id: int) -> FrontPortType:
  50. return models.FrontPort.objects.get(id=id)
  51. front_port_list: List[FrontPortType] = strawberry_django.field()
  52. @strawberry.field
  53. def front_port_template(self, id: int) -> FrontPortTemplateType:
  54. return models.FrontPortTemplate.objects.get(id=id)
  55. front_port_template_list: List[FrontPortTemplateType] = strawberry_django.field()
  56. @strawberry.field
  57. def interface(self, id: int) -> InterfaceType:
  58. return models.Interface.objects.get(id=id)
  59. interface_list: List[InterfaceType] = strawberry_django.field()
  60. @strawberry.field
  61. def interface_template(self, id: int) -> InterfaceTemplateType:
  62. return models.InterfaceTemplate.objects.get(id=id)
  63. interface_template_list: List[InterfaceTemplateType] = strawberry_django.field()
  64. @strawberry.field
  65. def inventory_item(self, id: int) -> InventoryItemType:
  66. return models.InventoryItem.objects.get(id=id)
  67. inventory_item_list: List[InventoryItemType] = strawberry_django.field()
  68. @strawberry.field
  69. def inventory_item_role(self, id: int) -> InventoryItemRoleType:
  70. return models.InventoryItemRole.objects.get(id=id)
  71. inventory_item_role_list: List[InventoryItemRoleType] = strawberry_django.field()
  72. @strawberry.field
  73. def inventory_item_template(self, id: int) -> InventoryItemTemplateType:
  74. return models.InventoryItemTemplate.objects.get(id=id)
  75. inventory_item_template_list: List[InventoryItemTemplateType] = strawberry_django.field()
  76. @strawberry.field
  77. def location(self, id: int) -> LocationType:
  78. return models.Location.objects.get(id=id)
  79. location_list: List[LocationType] = strawberry_django.field()
  80. @strawberry.field
  81. def manufacturer(self, id: int) -> ManufacturerType:
  82. return models.Manufacturer.objects.get(id=id)
  83. manufacturer_list: List[ManufacturerType] = strawberry_django.field()
  84. @strawberry.field
  85. def module(self, id: int) -> ModuleType:
  86. return models.Module.objects.get(id=id)
  87. module_list: List[ModuleType] = strawberry_django.field()
  88. @strawberry.field
  89. def module_bay(self, id: int) -> ModuleBayType:
  90. return models.ModuleBay.objects.get(id=id)
  91. module_bay_list: List[ModuleBayType] = strawberry_django.field()
  92. @strawberry.field
  93. def module_bay_template(self, id: int) -> ModuleBayTemplateType:
  94. return models.ModuleBayTemplate.objects.get(id=id)
  95. module_bay_template_list: List[ModuleBayTemplateType] = strawberry_django.field()
  96. @strawberry.field
  97. def module_type(self, id: int) -> ModuleTypeType:
  98. return models.ModuleType.objects.get(id=id)
  99. module_type_list: List[ModuleTypeType] = strawberry_django.field()
  100. @strawberry.field
  101. def platform(self, id: int) -> PlatformType:
  102. return models.Platform.objects.get(id=id)
  103. platform_list: List[PlatformType] = strawberry_django.field()
  104. @strawberry.field
  105. def power_feed(self, id: int) -> PowerFeedType:
  106. return models.PowerFeed.objects.get(id=id)
  107. power_feed_list: List[PowerFeedType] = strawberry_django.field()
  108. @strawberry.field
  109. def power_outlet(self, id: int) -> PowerOutletType:
  110. return models.PowerOutlet.objects.get(id=id)
  111. power_outlet_list: List[PowerOutletType] = strawberry_django.field()
  112. @strawberry.field
  113. def power_outlet_template(self, id: int) -> PowerOutletTemplateType:
  114. return models.PowerOutletTemplate.objects.get(id=id)
  115. power_outlet_template_list: List[PowerOutletTemplateType] = strawberry_django.field()
  116. @strawberry.field
  117. def power_panel(self, id: int) -> PowerPanelType:
  118. return models.PowerPanel.objects.get(id=id)
  119. power_panel_list: List[PowerPanelType] = strawberry_django.field()
  120. @strawberry.field
  121. def power_port(self, id: int) -> PowerPortType:
  122. return models.PowerPort.objects.get(id=id)
  123. power_port_list: List[PowerPortType] = strawberry_django.field()
  124. @strawberry.field
  125. def power_port_template(self, id: int) -> PowerPortTemplateType:
  126. return models.PowerPortTemplate.objects.get(id=id)
  127. power_port_template_list: List[PowerPortTemplateType] = strawberry_django.field()
  128. @strawberry.field
  129. def rack(self, id: int) -> RackType:
  130. return models.Rack.objects.get(id=id)
  131. rack_list: List[RackType] = strawberry_django.field()
  132. @strawberry.field
  133. def rack_reservation(self, id: int) -> RackReservationType:
  134. return models.RackReservation.objects.get(id=id)
  135. rack_reservation_list: List[RackReservationType] = strawberry_django.field()
  136. @strawberry.field
  137. def rack_role(self, id: int) -> RackRoleType:
  138. return models.RackRole.objects.get(id=id)
  139. rack_role_list: List[RackRoleType] = strawberry_django.field()
  140. @strawberry.field
  141. def rear_port(self, id: int) -> RearPortType:
  142. return models.RearPort.objects.get(id=id)
  143. rear_port_list: List[RearPortType] = strawberry_django.field()
  144. @strawberry.field
  145. def rear_port_template(self, id: int) -> RearPortTemplateType:
  146. return models.RearPortTemplate.objects.get(id=id)
  147. rear_port_template_list: List[RearPortTemplateType] = strawberry_django.field()
  148. @strawberry.field
  149. def region(self, id: int) -> RegionType:
  150. return models.Region.objects.get(id=id)
  151. region_list: List[RegionType] = strawberry_django.field()
  152. @strawberry.field
  153. def site(self, id: int) -> SiteType:
  154. return models.Site.objects.get(id=id)
  155. site_list: List[SiteType] = strawberry_django.field()
  156. @strawberry.field
  157. def site_group(self, id: int) -> SiteGroupType:
  158. return models.SiteGroup.objects.get(id=id)
  159. site_group_list: List[SiteGroupType] = strawberry_django.field()
  160. @strawberry.field
  161. def virtual_chassis(self, id: int) -> VirtualChassisType:
  162. return models.VirtualChassis.objects.get(id=id)
  163. virtual_chassis_list: List[VirtualChassisType] = strawberry_django.field()
  164. @strawberry.field
  165. def virtual_device_context(self, id: int) -> VirtualDeviceContextType:
  166. return models.VirtualDeviceContext.objects.get(id=id)
  167. virtual_device_context_list: List[VirtualDeviceContextType] = strawberry_django.field()