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

9856 virtualization, vpn, wireless schema

This commit is contained in:
Arthur
2024-02-07 16:07:15 -08:00
parent d3fc026b5d
commit 48b0cdd04a
9 changed files with 210 additions and 120 deletions

View File

@@ -0,0 +1,27 @@
import strawberry
import strawberry_django
from strawberry import auto
from wireless import models, filtersets
from netbox.graphql import filters
__all__ = (
'WirelessLANGroupFilter',
'WirelessLANFilter',
'WirelessLinkFilter',
)
@strawberry_django.filter(models.WirelessLANGroup, lookups=True)
class WirelessLANGroupFilter(filtersets.WirelessLANGroupFilterSet):
id: auto
@strawberry_django.filter(models.WirelessLAN, lookups=True)
class WirelessLANFilter(filtersets.WirelessLANFilterSet):
id: auto
@strawberry_django.filter(models.WirelessLink, lookups=True)
class WirelessLinkFilter(filtersets.WirelessLinkFilterSet):
id: auto

View File

@@ -1,26 +1,18 @@
import graphene
from typing import List
import strawberry
import strawberry_django
from netbox.graphql.fields import ObjectField, ObjectListField
from .types import *
from utilities.graphql_optimizer import gql_query_optimizer
from wireless import models
from .types import *
class WirelessQuery(graphene.ObjectType):
wireless_lan = ObjectField(WirelessLANType)
wireless_lan_list = ObjectListField(WirelessLANType)
@strawberry.type
class WirelessQuery:
wireless_lan: WirelessLANType = strawberry_django.field()
wireless_lan_list: List[WirelessLANType] = strawberry_django.field()
def resolve_wireless_lan_list(root, info, **kwargs):
return gql_query_optimizer(models.WirelessLAN.objects.all(), info)
wireless_lan_group: WirelessLANGroupType = strawberry_django.field()
wireless_lan_group_list: List[WirelessLANGroupType] = strawberry_django.field()
wireless_lan_group = ObjectField(WirelessLANGroupType)
wireless_lan_group_list = ObjectListField(WirelessLANGroupType)
def resolve_wireless_lan_group_list(root, info, **kwargs):
return gql_query_optimizer(models.WirelessLANGroup.objects.all(), info)
wireless_link = ObjectField(WirelessLinkType)
wireless_link_list = ObjectListField(WirelessLinkType)
def resolve_wireless_link_list(root, info, **kwargs):
return gql_query_optimizer(models.WirelessLink.objects.all(), info)
wireless_link: WirelessLinkType = strawberry_django.field()
wireless_link_list: List[WirelessLinkType] = strawberry_django.field()

View File

@@ -14,7 +14,8 @@ __all__ = (
@strawberry_django.type(
models.WirelessLANGroup,
fields='__all__',
# fields='__all__',
exclude=('parent',), # bug - temp
filters=WirelessLANGroupFilter
)
class WirelessLANGroupType(OrganizationalObjectType):