9856 first filterset

This commit is contained in:
Arthur 2024-03-12 09:35:53 -07:00
parent be2a814b38
commit a36cc0abb6
9 changed files with 63 additions and 63 deletions

View File

@ -1,9 +1,13 @@
from typing import List
import strawberry import strawberry
import strawberry_django import strawberry_django
from circuits import filtersets, models
from strawberry import auto from strawberry import auto
from circuits import models, filtersets from strawberry_django.filters import FilterLookup
from netbox.graphql import filters from tenancy.graphql.filter_mixins import ContactModelFilterMixin, TenancyFilterMixin
from netbox.graphql.filter_mixins import NetBoxModelFilterMixin
__all__ = ( __all__ = (
'CircuitTerminationFilter', 'CircuitTerminationFilter',
@ -32,37 +36,64 @@ class CircuitTerminationFilter(filtersets.CircuitTerminationFilterSet):
@strawberry_django.filter(models.Circuit, lookups=True) @strawberry_django.filter(models.Circuit, lookups=True)
class CircuitFilter(filtersets.CircuitFilterSet, filters.NetBoxModelFilter): class CircuitFilter(NetBoxModelFilterMixin, TenancyFilterMixin, ContactModelFilterMixin):
# NetBoxModelFilterSet filterset = filtersets.CircuitFilterSet
q: str | None
# tag:
# ChangeLoggedModelFilterSet
created: auto
last_updated: auto
created_by_request: str | None
updated_by_request: str | None
modified_by_request: str | None
id: auto
cid: auto cid: auto
description: auto description: auto
install_date: auto install_date: auto
termination_date: auto termination_date: auto
commit_rate: auto commit_rate: auto
provider_id: auto
provider: auto provider_id: List[str] | None
provider_account_id: auto provider: List[str] | None
type_id: auto provider_account_id: List[str] | None
# provider_network_id: auto provider_network_id: List[str] | None
type_id: auto type_id: List[str] | None
type: auto type: List[str] | None
status: auto status: auto
# region_id: auto region_id: List[str] | None
# region: auto region: List[str] | None
# site_group_id: auto site_group_id: List[str] | None
# site_group: auto site_group: List[str] | None
# site_id: auto site_id: List[str] | None
# site: auto site: List[str] | None
def filter_provider_id(self, queryset):
return self.filter_by_filterset(queryset, 'provider_id')
def filter_provider(self, queryset):
return self.filter_by_filterset(queryset, 'provider')
def filter_provider_account_id(self, queryset):
return self.filter_by_filterset(queryset, 'provider_account_id')
def filter_provider_network_id(self, queryset):
return self.filter_by_filterset(queryset, 'provider_network_id')
def filter_type_id(self, queryset):
return self.filter_by_filterset(queryset, 'type_id')
def filter_type(self, queryset):
return self.filter_by_filterset(queryset, 'type')
def filter_region_id(self, queryset):
return self.filter_by_filterset(queryset, 'region_id')
def filter_region(self, queryset):
return self.filter_by_filterset(queryset, 'region')
def filter_site_group_id(self, queryset):
return self.filter_by_filterset(queryset, 'site_group_id')
def filter_site_group(self, queryset):
return self.filter_by_filterset(queryset, 'site_group')
def filter_site_id(self, queryset):
return self.filter_by_filterset(queryset, 'site_id')
def filter_site(self, queryset):
return self.filter_by_filterset(queryset, 'site')
# @strawberry_django.filter(models.Circuit, lookups=True) # @strawberry_django.filter(models.Circuit, lookups=True)

View File

@ -1,9 +1,7 @@
import strawberry import strawberry
import strawberry_django import strawberry_django
from core import filtersets, models
from strawberry import auto from strawberry import auto
from core import models, filtersets
from netbox.graphql import filters
__all__ = ( __all__ = (
'DataFileFilter', 'DataFileFilter',

View File

@ -1,9 +1,7 @@
import strawberry import strawberry
import strawberry_django import strawberry_django
from dcim import filtersets, models
from strawberry import auto from strawberry import auto
from dcim import models, filtersets
from netbox.graphql import filters
__all__ = ( __all__ = (
'CableFilter', 'CableFilter',

View File

@ -2,7 +2,6 @@ import strawberry
import strawberry_django import strawberry_django
from strawberry import auto from strawberry import auto
from ipam import models, filtersets from ipam import models, filtersets
from netbox.graphql import filters
__all__ = ( __all__ = (

View File

@ -1,21 +0,0 @@
import strawberry
import strawberry_django
from strawberry import auto
class ChangeLoggedModelFilter:
def created_by_request(self, queryset):
return self.filter_by_request(queryset, "created_by_request", self.created_by_request)
def updated_by_request(self, queryset):
return self.filter_by_request(queryset, "updated_by_request", self.updated_by_request)
def modified_by_request(self, queryset):
return self.filter_by_request(queryset, "modified_by_request", self.modified_by_request)
class NetBoxModelFilter(ChangeLoggedModelFilter):
def filter_q(self, queryset):
return self.search(queryset, None, self.q)

View File

@ -1,9 +1,9 @@
import strawberry import strawberry
import strawberry_django import strawberry_django
from strawberry import auto from strawberry import auto
from tenancy import models, filtersets from tenancy import filtersets, models
from netbox.graphql import filters
from netbox.graphql import filter_mixins
__all__ = ( __all__ = (
'TenantFilter', 'TenantFilter',

View File

@ -2,7 +2,6 @@ import strawberry
import strawberry_django import strawberry_django
from strawberry import auto from strawberry import auto
from virtualization import models, filtersets from virtualization import models, filtersets
from netbox.graphql import filters
__all__ = ( __all__ = (

View File

@ -1,9 +1,7 @@
import strawberry import strawberry
import strawberry_django import strawberry_django
from strawberry import auto from strawberry import auto
from vpn import models, filtersets from vpn import filtersets, models
from netbox.graphql import filters
__all__ = ( __all__ = (
'TunnelGroupFilter', 'TunnelGroupFilter',

View File

@ -1,9 +1,7 @@
import strawberry import strawberry
import strawberry_django import strawberry_django
from strawberry import auto from strawberry import auto
from wireless import models, filtersets from wireless import filtersets, models
from netbox.graphql import filters
__all__ = ( __all__ = (
'WirelessLANGroupFilter', 'WirelessLANGroupFilter',