1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Fixes #6832: Support config context rendering under GraphQL API

This commit is contained in:
jeremystretch
2021-08-04 15:55:55 -04:00
parent 582b69de74
commit 57dc4c207f
4 changed files with 16 additions and 4 deletions

View File

@@ -1,5 +1,7 @@
from dcim import filtersets, models
from extras.graphql.mixins import ChangelogMixin, CustomFieldsMixin, ImageAttachmentsMixin, TagsMixin
from extras.graphql.mixins import (
ChangelogMixin, ConfigContextMixin, CustomFieldsMixin, ImageAttachmentsMixin, TagsMixin,
)
from ipam.graphql.mixins import IPAddressesMixin, VLANGroupsMixin
from netbox.graphql.types import BaseObjectType, OrganizationalObjectType, PrimaryObjectType
@@ -132,7 +134,7 @@ class ConsoleServerPortTemplateType(ComponentTemplateObjectType):
return self.type or None
class DeviceType(ImageAttachmentsMixin, PrimaryObjectType):
class DeviceType(ConfigContextMixin, ImageAttachmentsMixin, PrimaryObjectType):
class Meta:
model = models.Device

View File

@@ -3,6 +3,7 @@ from graphene.types.generic import GenericScalar
__all__ = (
'ChangelogMixin',
'ConfigContextMixin',
'CustomFieldsMixin',
'ImageAttachmentsMixin',
'JournalEntriesMixin',
@@ -17,6 +18,13 @@ class ChangelogMixin:
return self.object_changes.restrict(info.context.user, 'view')
class ConfigContextMixin:
config_context = GenericScalar()
def resolve_config_context(self, info):
return self.get_config_context()
class CustomFieldsMixin:
custom_fields = GenericScalar()

View File

@@ -1,7 +1,8 @@
from dcim.graphql.types import ComponentObjectType
from extras.graphql.mixins import ConfigContextMixin
from ipam.graphql.mixins import IPAddressesMixin, VLANGroupsMixin
from virtualization import filtersets, models
from netbox.graphql.types import OrganizationalObjectType, PrimaryObjectType
from virtualization import filtersets, models
__all__ = (
'ClusterType',
@@ -36,7 +37,7 @@ class ClusterTypeType(OrganizationalObjectType):
filterset_class = filtersets.ClusterTypeFilterSet
class VirtualMachineType(PrimaryObjectType):
class VirtualMachineType(ConfigContextMixin, PrimaryObjectType):
class Meta:
model = models.VirtualMachine