9856 fix OrganizationalObjectType

This commit is contained in:
Arthur 2024-03-06 07:52:42 -08:00
parent 0312ec3249
commit 7c289aebc7
4 changed files with 9 additions and 49 deletions

View File

@ -520,10 +520,6 @@ class InventoryItemRoleType(OrganizationalObjectType):
)
class LocationType(VLANGroupsMixin, ImageAttachmentsMixin, ContactsMixin, OrganizationalObjectType):
@strawberry_django.field
def children(self) -> List[Annotated["LocationType", strawberry.lazy('dcim.graphql.types')]]:
return self.children.all()
@strawberry_django.field
def powerpanel_set(self) -> List[Annotated["PowerPanelType", strawberry.lazy('dcim.graphql.types')]]:
return self.powerpanel_set.all()
@ -540,10 +536,6 @@ class LocationType(VLANGroupsMixin, ImageAttachmentsMixin, ContactsMixin, Organi
def vlan_groups(self) -> List[Annotated["VLANGroupType", strawberry.lazy('ipam.graphql.types')]]:
return self.vlan_groups.all()
@strawberry_django.field
def parent(self) -> Annotated["LocationType", strawberry.lazy('dcim.graphql.types')] | None:
return self.parent
@strawberry_django.field
def devices(self) -> List[Annotated["DeviceType", strawberry.lazy('dcim.graphql.types')]]:
return self.devices.all()
@ -844,18 +836,10 @@ class RearPortTemplateType(ComponentTemplateObjectType):
)
class RegionType(VLANGroupsMixin, ContactsMixin, OrganizationalObjectType):
@strawberry_django.field
def parent(self) -> Annotated["RegionType", strawberry.lazy('dcim.graphql.types')]:
return self.region
@strawberry_django.field
def sites(self) -> List[Annotated["SiteType", strawberry.lazy('dcim.graphql.types')]]:
return self.sites.all()
@strawberry_django.field
def children(self) -> List[Annotated["RegionType", strawberry.lazy('dcim.graphql.types')]]:
return self.children.all()
@strawberry_django.field
def vlan_groups(self) -> List[Annotated["VLANGroupType", strawberry.lazy('ipam.graphql.types')]]:
return self.vlan_groups.all()
@ -929,14 +913,6 @@ class SiteType(VLANGroupsMixin, ImageAttachmentsMixin, ContactsMixin, NetBoxObje
)
class SiteGroupType(VLANGroupsMixin, ContactsMixin, OrganizationalObjectType):
@strawberry_django.field
def parent(self) -> Annotated["SiteGroupType", strawberry.lazy('dcim.graphql.types')]:
return self.region
@strawberry_django.field
def children(self) -> List[Annotated["SiteGroupType", strawberry.lazy('dcim.graphql.types')]]:
return self.children.all()
@strawberry_django.field
def sites(self) -> List[Annotated["SiteType", strawberry.lazy('dcim.graphql.types')]]:
return self.sites.all()

View File

@ -1,3 +1,5 @@
from typing import Annotated, List
import strawberry
from strawberry import auto
import strawberry_django
@ -64,7 +66,13 @@ class OrganizationalObjectType(
"""
Base type for organizational models
"""
pass
@strawberry_django.field
def parent(self) -> Annotated["LocationType", strawberry.lazy('dcim.graphql.types')] | None:
return self.parent
@strawberry_django.field
def children(self) -> List[Annotated["WirelessLANGroupType", strawberry.lazy('wireless.graphql.types')]]:
return self.children.all()
class NetBoxObjectType(

View File

@ -141,18 +141,10 @@ class TenantType(NetBoxObjectType):
)
class TenantGroupType(OrganizationalObjectType):
@strawberry_django.field
def parent(self) -> Annotated["TenantGroupType", strawberry.lazy('tenancy.graphql.types')]:
return self.parent
@strawberry_django.field
def tenants(self) -> List[TenantType]:
return self.tenants.all()
@strawberry_django.field
def children(self) -> List[Annotated["TenantGroupType", strawberry.lazy('tenancy.graphql.types')]]:
return self.children.all()
#
# Contacts
@ -190,18 +182,10 @@ class ContactRoleType(ContactAssignmentsMixin, OrganizationalObjectType):
)
class ContactGroupType(OrganizationalObjectType):
@strawberry_django.field
def parent(self) -> Annotated["ContactGroupType", strawberry.lazy('tenancy.graphql.types')]:
return self.parent
@strawberry_django.field
def contacts(self) -> List[ContactType]:
return self.clusters.all()
@strawberry_django.field
def children(self) -> List[Annotated["ContactGroupType", strawberry.lazy('tenancy.graphql.types')]]:
return self.children.all()
@strawberry_django.type(
models.ContactAssignment,

View File

@ -22,18 +22,10 @@ __all__ = (
)
class WirelessLANGroupType(OrganizationalObjectType):
@strawberry_django.field
def parent(self) -> Annotated["WirelessLANGroupType", strawberry.lazy('wireless.graphql.types')]:
return self.parent
@strawberry_django.field
def wireless_lans(self) -> List[Annotated["WirelessLANType", strawberry.lazy('wireless.graphql.types')]]:
return self.wireless_lans.all()
@strawberry_django.field
def children(self) -> List[Annotated["WirelessLANGroupType", strawberry.lazy('wireless.graphql.types')]]:
return self.children.all()
@strawberry_django.type(
models.WirelessLAN,