Просмотр исходного кода

Rename base Graphene types to match base models

jeremystretch 4 лет назад
Родитель
Сommit
1518a460d5

+ 2 - 2
netbox/circuits/graphql/types.py

@@ -1,5 +1,5 @@
 from circuits import filtersets, models
-from netbox.graphql.types import BaseObjectType, ObjectType, PrimaryObjectType
+from netbox.graphql.types import BaseObjectType, OrganizationalObjectType, PrimaryObjectType
 
 __all__ = (
     'CircuitTerminationType',
@@ -26,7 +26,7 @@ class CircuitType(PrimaryObjectType):
         filterset_class = filtersets.CircuitFilterSet
 
 
-class CircuitTypeType(ObjectType):
+class CircuitTypeType(OrganizationalObjectType):
 
     class Meta:
         model = models.CircuitType

+ 58 - 26
netbox/dcim/graphql/types.py

@@ -1,10 +1,11 @@
 from dcim import filtersets, models
-from extras.graphql.mixins import ImageAttachmentsMixin
+from extras.graphql.mixins import CustomFieldsMixin, ImageAttachmentsMixin, TagsMixin
 from ipam.graphql.mixins import IPAddressesMixin, VLANGroupsMixin
-from netbox.graphql.types import BaseObjectType, ObjectType, PrimaryObjectType, TaggedObjectType
+from netbox.graphql.types import BaseObjectType, OrganizationalObjectType, PrimaryObjectType
 
 __all__ = (
     'CableType',
+    'ComponentObjectType',
     'ConsolePortType',
     'ConsolePortTemplateType',
     'ConsoleServerPortType',
@@ -40,6 +41,37 @@ __all__ = (
 )
 
 
+#
+# Base types
+#
+
+
+class ComponentObjectType(
+    CustomFieldsMixin,
+    TagsMixin,
+    BaseObjectType
+):
+    """
+    Base type for device/VM components
+    """
+    class Meta:
+        abstract = True
+
+
+class ComponentTemplateObjectType(
+    BaseObjectType
+):
+    """
+    Base type for device/VM components
+    """
+    class Meta:
+        abstract = True
+
+
+#
+# Model types
+#
+
 class CableType(PrimaryObjectType):
 
     class Meta:
@@ -54,7 +86,7 @@ class CableType(PrimaryObjectType):
         return self.length_unit or None
 
 
-class ConsolePortType(TaggedObjectType):
+class ConsolePortType(ComponentObjectType):
 
     class Meta:
         model = models.ConsolePort
@@ -65,7 +97,7 @@ class ConsolePortType(TaggedObjectType):
         return self.type or None
 
 
-class ConsolePortTemplateType(BaseObjectType):
+class ConsolePortTemplateType(ComponentTemplateObjectType):
 
     class Meta:
         model = models.ConsolePortTemplate
@@ -76,7 +108,7 @@ class ConsolePortTemplateType(BaseObjectType):
         return self.type or None
 
 
-class ConsoleServerPortType(TaggedObjectType):
+class ConsoleServerPortType(ComponentObjectType):
 
     class Meta:
         model = models.ConsoleServerPort
@@ -87,7 +119,7 @@ class ConsoleServerPortType(TaggedObjectType):
         return self.type or None
 
 
-class ConsoleServerPortTemplateType(BaseObjectType):
+class ConsoleServerPortTemplateType(ComponentTemplateObjectType):
 
     class Meta:
         model = models.ConsoleServerPortTemplate
@@ -109,7 +141,7 @@ class DeviceType(ImageAttachmentsMixin, PrimaryObjectType):
         return self.face or None
 
 
-class DeviceBayType(TaggedObjectType):
+class DeviceBayType(ComponentObjectType):
 
     class Meta:
         model = models.DeviceBay
@@ -117,7 +149,7 @@ class DeviceBayType(TaggedObjectType):
         filterset_class = filtersets.DeviceBayFilterSet
 
 
-class DeviceBayTemplateType(BaseObjectType):
+class DeviceBayTemplateType(ComponentTemplateObjectType):
 
     class Meta:
         model = models.DeviceBayTemplate
@@ -125,7 +157,7 @@ class DeviceBayTemplateType(BaseObjectType):
         filterset_class = filtersets.DeviceBayTemplateFilterSet
 
 
-class DeviceRoleType(ObjectType):
+class DeviceRoleType(OrganizationalObjectType):
 
     class Meta:
         model = models.DeviceRole
@@ -144,7 +176,7 @@ class DeviceTypeType(PrimaryObjectType):
         return self.subdevice_role or None
 
 
-class FrontPortType(TaggedObjectType):
+class FrontPortType(ComponentObjectType):
 
     class Meta:
         model = models.FrontPort
@@ -152,7 +184,7 @@ class FrontPortType(TaggedObjectType):
         filterset_class = filtersets.FrontPortFilterSet
 
 
-class FrontPortTemplateType(BaseObjectType):
+class FrontPortTemplateType(ComponentTemplateObjectType):
 
     class Meta:
         model = models.FrontPortTemplate
@@ -160,7 +192,7 @@ class FrontPortTemplateType(BaseObjectType):
         filterset_class = filtersets.FrontPortTemplateFilterSet
 
 
-class InterfaceType(IPAddressesMixin, TaggedObjectType):
+class InterfaceType(IPAddressesMixin, ComponentObjectType):
 
     class Meta:
         model = models.Interface
@@ -171,7 +203,7 @@ class InterfaceType(IPAddressesMixin, TaggedObjectType):
         return self.mode or None
 
 
-class InterfaceTemplateType(BaseObjectType):
+class InterfaceTemplateType(ComponentTemplateObjectType):
 
     class Meta:
         model = models.InterfaceTemplate
@@ -179,7 +211,7 @@ class InterfaceTemplateType(BaseObjectType):
         filterset_class = filtersets.InterfaceTemplateFilterSet
 
 
-class InventoryItemType(TaggedObjectType):
+class InventoryItemType(ComponentObjectType):
 
     class Meta:
         model = models.InventoryItem
@@ -187,7 +219,7 @@ class InventoryItemType(TaggedObjectType):
         filterset_class = filtersets.InventoryItemFilterSet
 
 
-class LocationType(VLANGroupsMixin, ImageAttachmentsMixin, ObjectType):
+class LocationType(VLANGroupsMixin, ImageAttachmentsMixin, OrganizationalObjectType):
 
     class Meta:
         model = models.Location
@@ -195,7 +227,7 @@ class LocationType(VLANGroupsMixin, ImageAttachmentsMixin, ObjectType):
         filterset_class = filtersets.LocationFilterSet
 
 
-class ManufacturerType(ObjectType):
+class ManufacturerType(OrganizationalObjectType):
 
     class Meta:
         model = models.Manufacturer
@@ -203,7 +235,7 @@ class ManufacturerType(ObjectType):
         filterset_class = filtersets.ManufacturerFilterSet
 
 
-class PlatformType(ObjectType):
+class PlatformType(OrganizationalObjectType):
 
     class Meta:
         model = models.Platform
@@ -219,7 +251,7 @@ class PowerFeedType(PrimaryObjectType):
         filterset_class = filtersets.PowerFeedFilterSet
 
 
-class PowerOutletType(TaggedObjectType):
+class PowerOutletType(ComponentObjectType):
 
     class Meta:
         model = models.PowerOutlet
@@ -233,7 +265,7 @@ class PowerOutletType(TaggedObjectType):
         return self.type or None
 
 
-class PowerOutletTemplateType(BaseObjectType):
+class PowerOutletTemplateType(ComponentTemplateObjectType):
 
     class Meta:
         model = models.PowerOutletTemplate
@@ -255,7 +287,7 @@ class PowerPanelType(PrimaryObjectType):
         filterset_class = filtersets.PowerPanelFilterSet
 
 
-class PowerPortType(TaggedObjectType):
+class PowerPortType(ComponentObjectType):
 
     class Meta:
         model = models.PowerPort
@@ -266,7 +298,7 @@ class PowerPortType(TaggedObjectType):
         return self.type or None
 
 
-class PowerPortTemplateType(BaseObjectType):
+class PowerPortTemplateType(ComponentTemplateObjectType):
 
     class Meta:
         model = models.PowerPortTemplate
@@ -299,7 +331,7 @@ class RackReservationType(PrimaryObjectType):
         filterset_class = filtersets.RackReservationFilterSet
 
 
-class RackRoleType(ObjectType):
+class RackRoleType(OrganizationalObjectType):
 
     class Meta:
         model = models.RackRole
@@ -307,7 +339,7 @@ class RackRoleType(ObjectType):
         filterset_class = filtersets.RackRoleFilterSet
 
 
-class RearPortType(TaggedObjectType):
+class RearPortType(ComponentObjectType):
 
     class Meta:
         model = models.RearPort
@@ -315,7 +347,7 @@ class RearPortType(TaggedObjectType):
         filterset_class = filtersets.RearPortFilterSet
 
 
-class RearPortTemplateType(BaseObjectType):
+class RearPortTemplateType(ComponentTemplateObjectType):
 
     class Meta:
         model = models.RearPortTemplate
@@ -323,7 +355,7 @@ class RearPortTemplateType(BaseObjectType):
         filterset_class = filtersets.RearPortTemplateFilterSet
 
 
-class RegionType(VLANGroupsMixin, ObjectType):
+class RegionType(VLANGroupsMixin, OrganizationalObjectType):
 
     class Meta:
         model = models.Region
@@ -339,7 +371,7 @@ class SiteType(VLANGroupsMixin, ImageAttachmentsMixin, PrimaryObjectType):
         filterset_class = filtersets.SiteFilterSet
 
 
-class SiteGroupType(VLANGroupsMixin, ObjectType):
+class SiteGroupType(VLANGroupsMixin, OrganizationalObjectType):
 
     class Meta:
         model = models.SiteGroup

+ 4 - 4
netbox/ipam/graphql/types.py

@@ -1,5 +1,5 @@
 from ipam import filtersets, models
-from netbox.graphql.types import ObjectType, PrimaryObjectType
+from netbox.graphql.types import OrganizationalObjectType, PrimaryObjectType
 
 __all__ = (
     'AggregateType',
@@ -54,7 +54,7 @@ class PrefixType(PrimaryObjectType):
         filterset_class = filtersets.PrefixFilterSet
 
 
-class RIRType(ObjectType):
+class RIRType(OrganizationalObjectType):
 
     class Meta:
         model = models.RIR
@@ -62,7 +62,7 @@ class RIRType(ObjectType):
         filterset_class = filtersets.RIRFilterSet
 
 
-class RoleType(ObjectType):
+class RoleType(OrganizationalObjectType):
 
     class Meta:
         model = models.Role
@@ -94,7 +94,7 @@ class VLANType(PrimaryObjectType):
         filterset_class = filtersets.VLANFilterSet
 
 
-class VLANGroupType(ObjectType):
+class VLANGroupType(OrganizationalObjectType):
 
     class Meta:
         model = models.VLANGroup

+ 14 - 14
netbox/netbox/graphql/types.py

@@ -5,8 +5,8 @@ from extras.graphql.mixins import CustomFieldsMixin, JournalEntriesMixin, TagsMi
 
 __all__ = (
     'BaseObjectType',
-    'ObjectType',
-    'TaggedObjectType',
+    'OrganizationalObjectType',
+    'PrimaryObjectType',
 )
 
 
@@ -27,25 +27,25 @@ class BaseObjectType(DjangoObjectType):
         return queryset.restrict(info.context.user, 'view')
 
 
-class ObjectType(CustomFieldsMixin, BaseObjectType):
+class OrganizationalObjectType(
+    CustomFieldsMixin,
+    BaseObjectType
+):
     """
-    Extends BaseObjectType with support for custom fields.
+    Base type for organizational models
     """
     class Meta:
         abstract = True
 
 
-class TaggedObjectType(CustomFieldsMixin, TagsMixin, BaseObjectType):
+class PrimaryObjectType(
+    CustomFieldsMixin,
+    JournalEntriesMixin,
+    TagsMixin,
+    BaseObjectType
+):
     """
-    Extends BaseObjectType with support for custom fields and tags
-    """
-    class Meta:
-        abstract = True
-
-
-class PrimaryObjectType(CustomFieldsMixin, JournalEntriesMixin, TagsMixin, BaseObjectType):
-    """
-    Extends BaseObjectType with support for custom fields, tags, and journal entries.
+    Base type for primary models
     """
     class Meta:
         abstract = True

+ 2 - 2
netbox/tenancy/graphql/types.py

@@ -1,5 +1,5 @@
 from tenancy import filtersets, models
-from netbox.graphql.types import ObjectType, PrimaryObjectType
+from netbox.graphql.types import OrganizationalObjectType, PrimaryObjectType
 
 __all__ = (
     'TenantType',
@@ -15,7 +15,7 @@ class TenantType(PrimaryObjectType):
         filterset_class = filtersets.TenantFilterSet
 
 
-class TenantGroupType(ObjectType):
+class TenantGroupType(OrganizationalObjectType):
 
     class Meta:
         model = models.TenantGroup

+ 5 - 4
netbox/virtualization/graphql/types.py

@@ -1,6 +1,7 @@
+from dcim.graphql.types import ComponentObjectType
 from ipam.graphql.mixins import IPAddressesMixin, VLANGroupsMixin
 from virtualization import filtersets, models
-from netbox.graphql.types import ObjectType, PrimaryObjectType, TaggedObjectType
+from netbox.graphql.types import OrganizationalObjectType, PrimaryObjectType
 
 __all__ = (
     'ClusterType',
@@ -19,7 +20,7 @@ class ClusterType(VLANGroupsMixin, PrimaryObjectType):
         filterset_class = filtersets.ClusterFilterSet
 
 
-class ClusterGroupType(VLANGroupsMixin, ObjectType):
+class ClusterGroupType(VLANGroupsMixin, OrganizationalObjectType):
 
     class Meta:
         model = models.ClusterGroup
@@ -27,7 +28,7 @@ class ClusterGroupType(VLANGroupsMixin, ObjectType):
         filterset_class = filtersets.ClusterGroupFilterSet
 
 
-class ClusterTypeType(ObjectType):
+class ClusterTypeType(OrganizationalObjectType):
 
     class Meta:
         model = models.ClusterType
@@ -43,7 +44,7 @@ class VirtualMachineType(PrimaryObjectType):
         filterset_class = filtersets.VirtualMachineFilterSet
 
 
-class VMInterfaceType(IPAddressesMixin, TaggedObjectType):
+class VMInterfaceType(IPAddressesMixin, ComponentObjectType):
 
     class Meta:
         model = models.VMInterface