diff --git a/netbox/circuits/graphql/filters.py b/netbox/circuits/graphql/filters.py index 8e94ec2c2..a3f2f2e85 100644 --- a/netbox/circuits/graphql/filters.py +++ b/netbox/circuits/graphql/filters.py @@ -74,7 +74,13 @@ class CircuitTerminationFilter( @strawberry_django.filter(models.Circuit, lookups=True) -class CircuitFilter(ContactFilterMixin, ImageAttachmentFilterMixin, DistanceFilterMixin, PrimaryModelFilterMixin): +class CircuitFilter( + ContactFilterMixin, + ImageAttachmentFilterMixin, + DistanceFilterMixin, + TenancyFilterMixin, + PrimaryModelFilterMixin +): cid: FilterLookup[str] | None = strawberry_django.filter_field() provider: Annotated['ProviderFilter', strawberry.lazy('circuits.graphql.filters')] | None = ( strawberry_django.filter_field() @@ -91,10 +97,6 @@ class CircuitFilter(ContactFilterMixin, ImageAttachmentFilterMixin, DistanceFilt status: Annotated['CircuitStatusEnum', strawberry.lazy('circuits.graphql.enums')] | None = ( strawberry_django.filter_field() ) - tenant: Annotated['TenantFilter', strawberry.lazy('tenancy.graphql.filters')] | None = ( - strawberry_django.filter_field() - ) - tenant_id: ID | None = strawberry_django.filter_field() install_date: DateFilterLookup[date] | None = strawberry_django.filter_field() termination_date: DateFilterLookup[date] | None = strawberry_django.filter_field() commit_rate: Annotated['IntegerLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = ( @@ -108,11 +110,8 @@ class CircuitTypeFilter(BaseCircuitTypeFilterMixin): @strawberry_django.filter(models.CircuitGroup, lookups=True) -class CircuitGroupFilter(OrganizationalModelFilterMixin): - tenant: Annotated['TenantFilter', strawberry.lazy('tenancy.graphql.filters')] | None = ( - strawberry_django.filter_field() - ) - tenant_id: ID | None = strawberry_django.filter_field() +class CircuitGroupFilter(TenancyFilterMixin, OrganizationalModelFilterMixin): + pass @strawberry_django.filter(models.CircuitGroupAssignment, lookups=True) @@ -165,7 +164,7 @@ class VirtualCircuitTypeFilter(BaseCircuitTypeFilterMixin): @strawberry_django.filter(models.VirtualCircuit, lookups=True) -class VirtualCircuitFilter(PrimaryModelFilterMixin): +class VirtualCircuitFilter(TenancyFilterMixin, PrimaryModelFilterMixin): cid: FilterLookup[str] | None = strawberry_django.filter_field() provider_network: Annotated['ProviderNetworkFilter', strawberry.lazy('circuits.graphql.filters')] | None = ( strawberry_django.filter_field() @@ -182,10 +181,6 @@ class VirtualCircuitFilter(PrimaryModelFilterMixin): status: Annotated['CircuitStatusEnum', strawberry.lazy('circuits.graphql.enums')] | None = ( strawberry_django.filter_field() ) - tenant: Annotated['TenantFilter', strawberry.lazy('tenancy.graphql.filters')] | None = ( - strawberry_django.filter_field() - ) - tenant_id: ID | None = strawberry_django.filter_field() group_assignments: Annotated['CircuitGroupAssignmentFilter', strawberry.lazy('circuits.graphql.filters')] | None = ( strawberry_django.filter_field() ) diff --git a/netbox/dcim/graphql/filters.py b/netbox/dcim/graphql/filters.py index fff312106..1a146f82d 100644 --- a/netbox/dcim/graphql/filters.py +++ b/netbox/dcim/graphql/filters.py @@ -481,16 +481,12 @@ class InventoryItemRoleFilter(OrganizationalModelFilterMixin): @strawberry_django.filter(models.Location, lookups=True) -class LocationFilter(ContactFilterMixin, ImageAttachmentFilterMixin, NestedGroupModelFilterMixin): +class LocationFilter(ContactFilterMixin, ImageAttachmentFilterMixin, TenancyFilterMixin, NestedGroupModelFilterMixin): site: Annotated['SiteFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field() site_id: ID | None = strawberry_django.filter_field() status: Annotated['LocationStatusEnum', strawberry.lazy('dcim.graphql.enums')] | None = ( strawberry_django.filter_field() ) - tenant: Annotated['TenantFilter', strawberry.lazy('tenancy.graphql.filters')] | None = ( - strawberry_django.filter_field() - ) - tenant_id: ID | None = strawberry_django.filter_field() facility: FilterLookup[str] | None = strawberry_django.filter_field() prefixes: Annotated['PrefixFilter', strawberry.lazy('ipam.graphql.filters')] | None = ( strawberry_django.filter_field() @@ -564,7 +560,7 @@ class PlatformFilter(OrganizationalModelFilterMixin): @strawberry_django.filter(models.PowerFeed, lookups=True) -class PowerFeedFilter(PrimaryModelFilterMixin, CabledObjectModelFilterMixin): +class PowerFeedFilter(CabledObjectModelFilterMixin, TenancyFilterMixin, PrimaryModelFilterMixin): power_panel: Annotated['PowerPanelFilter', strawberry.lazy('dcim.graphql.filters')] | None = ( strawberry_django.filter_field() ) @@ -596,10 +592,6 @@ class PowerFeedFilter(PrimaryModelFilterMixin, CabledObjectModelFilterMixin): available_power: Annotated['IntegerLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = ( strawberry_django.filter_field() ) - tenant: Annotated['TenantFilter', strawberry.lazy('tenancy.graphql.filters')] | None = ( - strawberry_django.filter_field() - ) - tenant_id: ID | None = strawberry_django.filter_field() @strawberry_django.filter(models.PowerOutlet, lookups=True) @@ -684,7 +676,7 @@ class RackTypeFilter(RackBaseFilterMixin): @strawberry_django.filter(models.Rack, lookups=True) -class RackFilter(ContactFilterMixin, ImageAttachmentFilterMixin, RackBaseFilterMixin): +class RackFilter(ContactFilterMixin, ImageAttachmentFilterMixin, TenancyFilterMixin, RackBaseFilterMixin): form_factor: Annotated['RackFormFactorEnum', strawberry.lazy('dcim.graphql.enums')] | None = ( strawberry_django.filter_field() ) @@ -702,10 +694,6 @@ class RackFilter(ContactFilterMixin, ImageAttachmentFilterMixin, RackBaseFilterM location_id: Annotated['TreeNodeFilter', strawberry.lazy('netbox.graphql.filter_lookups')] | None = ( strawberry_django.filter_field() ) - tenant: Annotated['TenantFilter', strawberry.lazy('tenancy.graphql.filters')] | None = ( - strawberry_django.filter_field() - ) - tenant_id: ID | None = strawberry_django.filter_field() status: Annotated['RackStatusEnum', strawberry.lazy('dcim.graphql.enums')] | None = strawberry_django.filter_field() role: Annotated['RackRoleFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field() role_id: ID | None = strawberry_django.filter_field() @@ -720,16 +708,12 @@ class RackFilter(ContactFilterMixin, ImageAttachmentFilterMixin, RackBaseFilterM @strawberry_django.filter(models.RackReservation, lookups=True) -class RackReservationFilter(PrimaryModelFilterMixin): +class RackReservationFilter(TenancyFilterMixin, PrimaryModelFilterMixin): rack: Annotated['RackFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field() rack_id: ID | None = strawberry_django.filter_field() units: Annotated['IntegerArrayLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = ( strawberry_django.filter_field() ) - tenant: Annotated['TenantFilter', strawberry.lazy('tenancy.graphql.filters')] | None = ( - strawberry_django.filter_field() - ) - tenant_id: ID | None = strawberry_django.filter_field() user: Annotated['UserFilter', strawberry.lazy('users.graphql.filters')] | None = strawberry_django.filter_field() user_id: ID | None = strawberry_django.filter_field() description: FilterLookup[str] | None = strawberry_django.filter_field() @@ -769,7 +753,7 @@ class RegionFilter(ContactFilterMixin, NestedGroupModelFilterMixin): @strawberry_django.filter(models.Site, lookups=True) -class SiteFilter(ContactFilterMixin, ImageAttachmentFilterMixin, PrimaryModelFilterMixin): +class SiteFilter(ContactFilterMixin, ImageAttachmentFilterMixin, TenancyFilterMixin, PrimaryModelFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() slug: FilterLookup[str] | None = strawberry_django.filter_field() status: Annotated['SiteStatusEnum', strawberry.lazy('dcim.graphql.enums')] | None = strawberry_django.filter_field() @@ -783,10 +767,6 @@ class SiteFilter(ContactFilterMixin, ImageAttachmentFilterMixin, PrimaryModelFil group_id: Annotated['TreeNodeFilter', strawberry.lazy('netbox.graphql.filter_lookups')] | None = ( strawberry_django.filter_field() ) - tenant: Annotated['TenantFilter', strawberry.lazy('tenancy.graphql.filters')] | None = ( - strawberry_django.filter_field() - ) - tenant_id: ID | None = strawberry_django.filter_field() facility: FilterLookup[str] | None = strawberry_django.filter_field() asns: Annotated['ASNFilter', strawberry.lazy('ipam.graphql.filters')] | None = strawberry_django.filter_field() time_zone: FilterLookup[str] | None = strawberry_django.filter_field() @@ -825,7 +805,7 @@ class VirtualChassisFilter(PrimaryModelFilterMixin): @strawberry_django.filter(models.VirtualDeviceContext, lookups=True) -class VirtualDeviceContextFilter(PrimaryModelFilterMixin): +class VirtualDeviceContextFilter(TenancyFilterMixin, PrimaryModelFilterMixin): device: Annotated['DeviceFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field() device_id: ID | None = strawberry_django.filter_field() name: FilterLookup[str] | None = strawberry_django.filter_field() @@ -843,8 +823,4 @@ class VirtualDeviceContextFilter(PrimaryModelFilterMixin): strawberry_django.filter_field() ) primary_ip6_id: ID | None = strawberry_django.filter_field() - tenant: Annotated['TenantFilter', strawberry.lazy('tenancy.graphql.filters')] | None = ( - strawberry_django.filter_field() - ) - tenant_id: ID | None = strawberry_django.filter_field() comments: FilterLookup[str] | None = strawberry_django.filter_field() diff --git a/netbox/ipam/graphql/filters.py b/netbox/ipam/graphql/filters.py index a66d40e31..a257e37d8 100644 --- a/netbox/ipam/graphql/filters.py +++ b/netbox/ipam/graphql/filters.py @@ -56,20 +56,16 @@ __all__ = ( @strawberry_django.filter(models.ASN, lookups=True) -class ASNFilter(PrimaryModelFilterMixin): +class ASNFilter(TenancyFilterMixin, PrimaryModelFilterMixin): rir: Annotated['RIRFilter', strawberry.lazy('ipam.graphql.filters')] | None = strawberry_django.filter_field() rir_id: ID | None = strawberry_django.filter_field() asn: Annotated['IntegerLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = ( strawberry_django.filter_field() ) - tenant: Annotated['TenantFilter', strawberry.lazy('tenancy.graphql.filters')] | None = ( - strawberry_django.filter_field() - ) - tenant_id: ID | None = strawberry_django.filter_field() @strawberry_django.filter(models.ASNRange, lookups=True) -class ASNRangeFilter(OrganizationalModelFilterMixin): +class ASNRangeFilter(TenancyFilterMixin, OrganizationalModelFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() slug: FilterLookup[str] | None = strawberry_django.filter_field() rir: Annotated['RIRFilter', strawberry.lazy('ipam.graphql.filters')] | None = strawberry_django.filter_field() @@ -80,22 +76,14 @@ class ASNRangeFilter(OrganizationalModelFilterMixin): end: Annotated['IntegerLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = ( strawberry_django.filter_field() ) - tenant: Annotated['TenantFilter', strawberry.lazy('tenancy.graphql.filters')] | None = ( - strawberry_django.filter_field() - ) - tenant_id: ID | None = strawberry_django.filter_field() @strawberry_django.filter(models.Aggregate, lookups=True) -class AggregateFilter(ContactFilterMixin, PrimaryModelFilterMixin): +class AggregateFilter(ContactFilterMixin, TenancyFilterMixin, PrimaryModelFilterMixin): prefix: Annotated['PrefixFilter', strawberry.lazy('ipam.graphql.filters')] | None = strawberry_django.filter_field() prefix_id: ID | None = strawberry_django.filter_field() rir: Annotated['RIRFilter', strawberry.lazy('ipam.graphql.filters')] | None = strawberry_django.filter_field() rir_id: ID | None = strawberry_django.filter_field() - tenant: Annotated['TenantFilter', strawberry.lazy('tenancy.graphql.filters')] | None = ( - strawberry_django.filter_field() - ) - tenant_id: ID | None = strawberry_django.filter_field() date_added: DateFilterLookup[date] | None = strawberry_django.filter_field() @@ -133,14 +121,10 @@ class FHRPGroupAssignmentFilter(BaseObjectTypeFilterMixin, ChangeLogFilterMixin) @strawberry_django.filter(models.IPAddress, lookups=True) -class IPAddressFilter(ContactFilterMixin, PrimaryModelFilterMixin): +class IPAddressFilter(ContactFilterMixin, TenancyFilterMixin, PrimaryModelFilterMixin): address: FilterLookup[str] | None = strawberry_django.filter_field() vrf: Annotated['VRFFilter', strawberry.lazy('ipam.graphql.filters')] | None = strawberry_django.filter_field() vrf_id: ID | None = strawberry_django.filter_field() - tenant: Annotated['TenantFilter', strawberry.lazy('tenancy.graphql.filters')] | None = ( - strawberry_django.filter_field() - ) - tenant_id: ID | None = strawberry_django.filter_field() status: Annotated['IPAddressStatusEnum', strawberry.lazy('ipam.graphql.enums')] | None = ( strawberry_django.filter_field() ) @@ -176,7 +160,7 @@ class IPAddressFilter(ContactFilterMixin, PrimaryModelFilterMixin): @strawberry_django.filter(models.IPRange, lookups=True) -class IPRangeFilter(ContactFilterMixin, PrimaryModelFilterMixin): +class IPRangeFilter(ContactFilterMixin, TenancyFilterMixin, PrimaryModelFilterMixin): start_address: FilterLookup[str] | None = strawberry_django.filter_field() end_address: FilterLookup[str] | None = strawberry_django.filter_field() size: Annotated['IntegerLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = ( @@ -184,10 +168,6 @@ class IPRangeFilter(ContactFilterMixin, PrimaryModelFilterMixin): ) vrf: Annotated['VRFFilter', strawberry.lazy('ipam.graphql.filters')] | None = strawberry_django.filter_field() vrf_id: ID | None = strawberry_django.filter_field() - tenant: Annotated['TenantFilter', strawberry.lazy('tenancy.graphql.filters')] | None = ( - strawberry_django.filter_field() - ) - tenant_id: ID | None = strawberry_django.filter_field() status: Annotated['IPRangeStatusEnum', strawberry.lazy('ipam.graphql.enums')] | None = ( strawberry_django.filter_field() ) @@ -211,14 +191,10 @@ class IPRangeFilter(ContactFilterMixin, PrimaryModelFilterMixin): @strawberry_django.filter(models.Prefix, lookups=True) -class PrefixFilter(ContactFilterMixin, PrimaryModelFilterMixin): +class PrefixFilter(ContactFilterMixin, TenancyFilterMixin, PrimaryModelFilterMixin): prefix: FilterLookup[str] | None = strawberry_django.filter_field() vrf: Annotated['VRFFilter', strawberry.lazy('ipam.graphql.filters')] | None = strawberry_django.filter_field() vrf_id: ID | None = strawberry_django.filter_field() - tenant: Annotated['TenantFilter', strawberry.lazy('tenancy.graphql.filters')] | None = ( - strawberry_django.filter_field() - ) - tenant_id: ID | None = strawberry_django.filter_field() vlan: Annotated['VLANFilter', strawberry.lazy('ipam.graphql.filters')] | None = strawberry_django.filter_field() vlan_id: ID | None = strawberry_django.filter_field() status: Annotated['PrefixStatusEnum', strawberry.lazy('ipam.graphql.enums')] | None = ( @@ -247,12 +223,8 @@ class RoleFilter(OrganizationalModelFilterMixin): @strawberry_django.filter(models.RouteTarget, lookups=True) -class RouteTargetFilter(PrimaryModelFilterMixin): +class RouteTargetFilter(TenancyFilterMixin, PrimaryModelFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() - tenant: Annotated['TenantFilter', strawberry.lazy('tenancy.graphql.filters')] | None = ( - strawberry_django.filter_field() - ) - tenant_id: ID | None = strawberry_django.filter_field() @strawberry_django.filter(models.Service, lookups=True) @@ -275,7 +247,7 @@ class ServiceTemplateFilter(ServiceBaseFilterMixin, PrimaryModelFilterMixin): @strawberry_django.filter(models.VLAN, lookups=True) -class VLANFilter(PrimaryModelFilterMixin): +class VLANFilter(TenancyFilterMixin, PrimaryModelFilterMixin): site: Annotated['SiteFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field() site_id: ID | None = strawberry_django.filter_field() group: Annotated['VLANGroupFilter', strawberry.lazy('ipam.graphql.filters')] | None = ( @@ -286,10 +258,6 @@ class VLANFilter(PrimaryModelFilterMixin): strawberry_django.filter_field() ) name: FilterLookup[str] | None = strawberry_django.filter_field() - tenant: Annotated['TenantFilter', strawberry.lazy('tenancy.graphql.filters')] | None = ( - strawberry_django.filter_field() - ) - tenant_id: ID | None = strawberry_django.filter_field() status: Annotated['VLANStatusEnum', strawberry.lazy('ipam.graphql.enums')] | None = strawberry_django.filter_field() role: Annotated['RoleFilter', strawberry.lazy('ipam.graphql.filters')] | None = strawberry_django.filter_field() role_id: ID | None = strawberry_django.filter_field() @@ -342,13 +310,9 @@ class VLANTranslationRuleFilter(NetBoxModelFilterMixin): @strawberry_django.filter(models.VRF, lookups=True) -class VRFFilter(PrimaryModelFilterMixin): +class VRFFilter(TenancyFilterMixin, PrimaryModelFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() rd: FilterLookup[str] | None = strawberry_django.filter_field() - tenant: Annotated['TenantFilter', strawberry.lazy('tenancy.graphql.filters')] | None = ( - strawberry_django.filter_field() - ) - tenant_id: ID | None = strawberry_django.filter_field() enforce_unique: FilterLookup[bool] | None = strawberry_django.filter_field() import_targets: Annotated['RouteTargetFilter', strawberry.lazy('ipam.graphql.filters')] | None = ( strawberry_django.filter_field() diff --git a/netbox/tenancy/graphql/filter_mixins.py b/netbox/tenancy/graphql/filter_mixins.py index e1604fa87..1bf690013 100644 --- a/netbox/tenancy/graphql/filter_mixins.py +++ b/netbox/tenancy/graphql/filter_mixins.py @@ -25,9 +25,9 @@ class TenancyFilterMixin(BaseFilterMixin): strawberry_django.filter_field() ) tenant_id: ID | None = strawberry_django.filter_field() - group: Annotated['TenantGroupFilter', strawberry.lazy('tenancy.graphql.filters')] | None = ( + tenant_group: Annotated['TenantGroupFilter', strawberry.lazy('tenancy.graphql.filters')] | None = ( strawberry_django.filter_field() ) - group_id: Annotated['TreeNodeFilter', strawberry.lazy('netbox.graphql.filter_lookups')] | None = ( + tenant_group_id: Annotated['TreeNodeFilter', strawberry.lazy('netbox.graphql.filter_lookups')] | None = ( strawberry_django.filter_field() ) diff --git a/netbox/virtualization/graphql/filters.py b/netbox/virtualization/graphql/filters.py index d2d34d54e..282cbb196 100644 --- a/netbox/virtualization/graphql/filters.py +++ b/netbox/virtualization/graphql/filters.py @@ -40,7 +40,7 @@ __all__ = ( @strawberry_django.filter(models.Cluster, lookups=True) -class ClusterFilter(ContactFilterMixin, PrimaryModelFilterMixin): +class ClusterFilter(ContactFilterMixin, TenancyFilterMixin, PrimaryModelFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() type: Annotated['ClusterTypeFilter', strawberry.lazy('virtualization.graphql.filters')] | None = ( strawberry_django.filter_field() @@ -53,10 +53,6 @@ class ClusterFilter(ContactFilterMixin, PrimaryModelFilterMixin): status: Annotated['ClusterStatusEnum', strawberry.lazy('virtualization.graphql.enums')] | None = ( strawberry_django.filter_field() ) - tenant: Annotated['TenantFilter', strawberry.lazy('tenancy.graphql.filters')] | None = ( - strawberry_django.filter_field() - ) - tenant_id: ID | None = strawberry_django.filter_field() vlan_groups: Annotated['VLANGroupFilter', strawberry.lazy('ipam.graphql.filters')] | None = ( strawberry_django.filter_field() ) @@ -80,6 +76,7 @@ class VirtualMachineFilter( ImageAttachmentFilterMixin, RenderConfigFilterMixin, ConfigContextFilterMixin, + TenancyFilterMixin, PrimaryModelFilterMixin, ): site: Annotated['SiteFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field() @@ -90,10 +87,6 @@ class VirtualMachineFilter( cluster_id: ID | None = strawberry_django.filter_field() device: Annotated['DeviceFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field() device_id: ID | None = strawberry_django.filter_field() - tenant: Annotated['TenantFilter', strawberry.lazy('tenancy.graphql.filters')] | None = ( - strawberry_django.filter_field() - ) - tenant_id: ID | None = strawberry_django.filter_field() platform: Annotated['PlatformFilter', strawberry.lazy('dcim.graphql.filters')] | None = ( strawberry_django.filter_field() ) diff --git a/netbox/vpn/graphql/filters.py b/netbox/vpn/graphql/filters.py index e69455ae5..ca038ce3d 100644 --- a/netbox/vpn/graphql/filters.py +++ b/netbox/vpn/graphql/filters.py @@ -70,7 +70,7 @@ class TunnelTerminationFilter( @strawberry_django.filter(models.Tunnel, lookups=True) -class TunnelFilter(PrimaryModelFilterMixin): +class TunnelFilter(TenancyFilterMixin, PrimaryModelFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() status: Annotated['TunnelStatusEnum', strawberry.lazy('vpn.graphql.enums')] | None = ( strawberry_django.filter_field() @@ -85,10 +85,6 @@ class TunnelFilter(PrimaryModelFilterMixin): ipsec_profile: Annotated['IPSecProfileFilter', strawberry.lazy('vpn.graphql.filters')] | None = ( strawberry_django.filter_field() ) - tenant: Annotated['TenantFilter', strawberry.lazy('tenancy.graphql.filters')] | None = ( - strawberry_django.filter_field() - ) - tenant_id: ID | None = strawberry_django.filter_field() tunnel_id: Annotated['IntegerLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = ( strawberry_django.filter_field() ) @@ -164,7 +160,7 @@ class IPSecProfileFilter(PrimaryModelFilterMixin): @strawberry_django.filter(models.L2VPN, lookups=True) -class L2VPNFilter(ContactFilterMixin, PrimaryModelFilterMixin): +class L2VPNFilter(ContactFilterMixin, TenancyFilterMixin, PrimaryModelFilterMixin): name: FilterLookup[str] | None = strawberry_django.filter_field() slug: FilterLookup[str] | None = strawberry_django.filter_field() type: Annotated['L2VPNTypeEnum', strawberry.lazy('vpn.graphql.enums')] | None = strawberry_django.filter_field() @@ -177,10 +173,6 @@ class L2VPNFilter(ContactFilterMixin, PrimaryModelFilterMixin): export_targets: Annotated['RouteTargetFilter', strawberry.lazy('ipam.graphql.filters')] | None = ( strawberry_django.filter_field() ) - tenant: Annotated['TenantFilter', strawberry.lazy('tenancy.graphql.filters')] | None = ( - strawberry_django.filter_field() - ) - tenant_id: ID | None = strawberry_django.filter_field() @strawberry_django.filter(models.L2VPNTermination, lookups=True) diff --git a/netbox/wireless/graphql/filters.py b/netbox/wireless/graphql/filters.py index 5fe233a6a..73e1f729a 100644 --- a/netbox/wireless/graphql/filters.py +++ b/netbox/wireless/graphql/filters.py @@ -41,7 +41,7 @@ class WirelessLANGroupFilter(NestedGroupModelFilterMixin): @strawberry_django.filter(models.WirelessLAN, lookups=True) -class WirelessLANFilter(WirelessAuthenticationBaseFilterMixin, PrimaryModelFilterMixin): +class WirelessLANFilter(WirelessAuthenticationBaseFilterMixin, TenancyFilterMixin, PrimaryModelFilterMixin): ssid: FilterLookup[str] | None = strawberry_django.filter_field() group: Annotated['WirelessLANGroupFilter', strawberry.lazy('wireless.graphql.filters')] | None = ( strawberry_django.filter_field() @@ -49,14 +49,15 @@ class WirelessLANFilter(WirelessAuthenticationBaseFilterMixin, PrimaryModelFilte group_id: ID | None = strawberry_django.filter_field() vlan: Annotated['VLANFilter', strawberry.lazy('ipam.graphql.filters')] | None = strawberry_django.filter_field() vlan_id: ID | None = strawberry_django.filter_field() - tenant: Annotated['TenantFilter', strawberry.lazy('tenancy.graphql.filters')] | None = ( - strawberry_django.filter_field() - ) - tenant_id: ID | None = strawberry_django.filter_field() @strawberry_django.filter(models.WirelessLink, lookups=True) -class WirelessLinkFilter(WirelessAuthenticationBaseFilterMixin, DistanceFilterMixin, PrimaryModelFilterMixin): +class WirelessLinkFilter( + WirelessAuthenticationBaseFilterMixin, + DistanceFilterMixin, + TenancyFilterMixin, + PrimaryModelFilterMixin +): interface_a: Annotated['InterfaceFilter', strawberry.lazy('dcim.graphql.filters')] | None = ( strawberry_django.filter_field() ) @@ -69,7 +70,3 @@ class WirelessLinkFilter(WirelessAuthenticationBaseFilterMixin, DistanceFilterMi status: Annotated['WirelessLANStatusEnum', strawberry.lazy('wireless.graphql.enums')] | None = ( strawberry_django.filter_field() ) - tenant: Annotated['TenantFilter', strawberry.lazy('tenancy.graphql.filters')] | None = ( - strawberry_django.filter_field() - ) - tenant_id: ID | None = strawberry_django.filter_field()