mirror of
https://github.com/netbox-community/netbox.git
synced 2025-12-12 03:19:36 -06:00
Rename BaseObjectTypeFilterMixin to BaseModelFilter; remove from mixins
This commit is contained in:
parent
dd11bdafee
commit
19e056bf8e
@ -325,14 +325,14 @@ class CircuitTypeType(OrganizationalObjectType):
|
|||||||
|
|
||||||
### Change filters.py
|
### Change filters.py
|
||||||
|
|
||||||
Strawberry currently doesn't directly support django-filter, so an explicit filters.py file will need to be created. NetBox includes a new `autotype_decorator` used to automatically wrap FilterSets to reduce the required code to a minimum.
|
Filter classes should inherit from `netbox.graphql.filters.BaseModelFilter`.
|
||||||
|
|
||||||
```python title="New"
|
```python title="New"
|
||||||
import strawberry
|
import strawberry
|
||||||
import strawberry_django
|
import strawberry_django
|
||||||
from circuits import filtersets, models
|
from circuits import filtersets, models
|
||||||
|
|
||||||
from netbox.graphql.filter_mixins import autotype_decorator, BaseFilter
|
from netbox.graphql.filters import BaseModelFilter
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
'CircuitFilter',
|
'CircuitFilter',
|
||||||
@ -340,8 +340,7 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
@strawberry_django.filter(models.Circuit, lookups=True)
|
@strawberry_django.filter(models.Circuit, lookups=True)
|
||||||
@autotype_decorator(filtersets.CircuitFilterSet)
|
class CircuitFilter(BaseModelFilter):
|
||||||
class CircuitFilter(BaseFilter):
|
|
||||||
pass
|
pass
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|||||||
@ -7,7 +7,6 @@ from strawberry.scalars import ID
|
|||||||
from strawberry_django import BaseFilterLookup, FilterLookup, DateFilterLookup
|
from strawberry_django import BaseFilterLookup, FilterLookup, DateFilterLookup
|
||||||
|
|
||||||
from circuits import models
|
from circuits import models
|
||||||
from core.graphql.filter_mixins import BaseObjectTypeFilterMixin
|
|
||||||
from dcim.graphql.filter_mixins import CabledObjectModelFilterMixin
|
from dcim.graphql.filter_mixins import CabledObjectModelFilterMixin
|
||||||
from extras.graphql.filter_mixins import CustomFieldsFilterMixin, TagsFilterMixin
|
from extras.graphql.filter_mixins import CustomFieldsFilterMixin, TagsFilterMixin
|
||||||
from netbox.graphql.filter_mixins import DistanceFilterMixin, ImageAttachmentFilterMixin
|
from netbox.graphql.filter_mixins import DistanceFilterMixin, ImageAttachmentFilterMixin
|
||||||
@ -39,7 +38,6 @@ __all__ = (
|
|||||||
|
|
||||||
@strawberry_django.filter_type(models.CircuitTermination, lookups=True)
|
@strawberry_django.filter_type(models.CircuitTermination, lookups=True)
|
||||||
class CircuitTerminationFilter(
|
class CircuitTerminationFilter(
|
||||||
BaseObjectTypeFilterMixin,
|
|
||||||
CustomFieldsFilterMixin,
|
CustomFieldsFilterMixin,
|
||||||
TagsFilterMixin,
|
TagsFilterMixin,
|
||||||
ChangeLoggedModelFilter,
|
ChangeLoggedModelFilter,
|
||||||
@ -130,9 +128,7 @@ class CircuitGroupFilter(TenancyFilterMixin, OrganizationalModelFilter):
|
|||||||
|
|
||||||
|
|
||||||
@strawberry_django.filter_type(models.CircuitGroupAssignment, lookups=True)
|
@strawberry_django.filter_type(models.CircuitGroupAssignment, lookups=True)
|
||||||
class CircuitGroupAssignmentFilter(
|
class CircuitGroupAssignmentFilter(CustomFieldsFilterMixin, TagsFilterMixin, ChangeLoggedModelFilter):
|
||||||
BaseObjectTypeFilterMixin, CustomFieldsFilterMixin, TagsFilterMixin, ChangeLoggedModelFilter
|
|
||||||
):
|
|
||||||
member_type: Annotated['ContentTypeFilter', strawberry.lazy('core.graphql.filters')] | None = (
|
member_type: Annotated['ContentTypeFilter', strawberry.lazy('core.graphql.filters')] | None = (
|
||||||
strawberry_django.filter_field()
|
strawberry_django.filter_field()
|
||||||
)
|
)
|
||||||
@ -205,9 +201,7 @@ class VirtualCircuitFilter(TenancyFilterMixin, PrimaryModelFilter):
|
|||||||
|
|
||||||
|
|
||||||
@strawberry_django.filter_type(models.VirtualCircuitTermination, lookups=True)
|
@strawberry_django.filter_type(models.VirtualCircuitTermination, lookups=True)
|
||||||
class VirtualCircuitTerminationFilter(
|
class VirtualCircuitTerminationFilter(CustomFieldsFilterMixin, TagsFilterMixin, ChangeLoggedModelFilter):
|
||||||
BaseObjectTypeFilterMixin, CustomFieldsFilterMixin, TagsFilterMixin, ChangeLoggedModelFilter
|
|
||||||
):
|
|
||||||
virtual_circuit: Annotated['VirtualCircuitFilter', strawberry.lazy('circuits.graphql.filters')] | None = (
|
virtual_circuit: Annotated['VirtualCircuitFilter', strawberry.lazy('circuits.graphql.filters')] | None = (
|
||||||
strawberry_django.filter_field()
|
strawberry_django.filter_field()
|
||||||
)
|
)
|
||||||
|
|||||||
@ -1,19 +0,0 @@
|
|||||||
from dataclasses import dataclass
|
|
||||||
|
|
||||||
import strawberry_django
|
|
||||||
from strawberry import ID
|
|
||||||
from strawberry_django import FilterLookup
|
|
||||||
|
|
||||||
__all__ = (
|
|
||||||
'BaseFilter',
|
|
||||||
'BaseObjectTypeFilterMixin',
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
# @strawberry.input
|
|
||||||
class BaseFilter: ...
|
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
|
||||||
class BaseObjectTypeFilterMixin(BaseFilter):
|
|
||||||
id: FilterLookup[ID] | None = strawberry_django.filter_field()
|
|
||||||
@ -8,8 +8,7 @@ from strawberry.scalars import ID
|
|||||||
from strawberry_django import BaseFilterLookup, DatetimeFilterLookup, FilterLookup
|
from strawberry_django import BaseFilterLookup, DatetimeFilterLookup, FilterLookup
|
||||||
|
|
||||||
from core import models
|
from core import models
|
||||||
from core.graphql.filter_mixins import BaseObjectTypeFilterMixin
|
from netbox.graphql.filters import BaseModelFilter, PrimaryModelFilter
|
||||||
from netbox.graphql.filters import PrimaryModelFilter
|
|
||||||
from .enums import *
|
from .enums import *
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
@ -25,7 +24,7 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
@strawberry_django.filter_type(models.DataFile, lookups=True)
|
@strawberry_django.filter_type(models.DataFile, lookups=True)
|
||||||
class DataFileFilter(BaseObjectTypeFilterMixin):
|
class DataFileFilter(BaseModelFilter):
|
||||||
created: DatetimeFilterLookup[datetime] | None = strawberry_django.filter_field()
|
created: DatetimeFilterLookup[datetime] | None = strawberry_django.filter_field()
|
||||||
last_updated: DatetimeFilterLookup[datetime] | None = strawberry_django.filter_field()
|
last_updated: DatetimeFilterLookup[datetime] | None = strawberry_django.filter_field()
|
||||||
source: Annotated['DataSourceFilter', strawberry.lazy('core.graphql.filters')] | None = (
|
source: Annotated['DataSourceFilter', strawberry.lazy('core.graphql.filters')] | None = (
|
||||||
@ -59,7 +58,7 @@ class DataSourceFilter(PrimaryModelFilter):
|
|||||||
|
|
||||||
|
|
||||||
@strawberry_django.filter_type(models.ObjectChange, lookups=True)
|
@strawberry_django.filter_type(models.ObjectChange, lookups=True)
|
||||||
class ObjectChangeFilter(BaseObjectTypeFilterMixin):
|
class ObjectChangeFilter(BaseModelFilter):
|
||||||
time: DatetimeFilterLookup[datetime] | None = strawberry_django.filter_field()
|
time: DatetimeFilterLookup[datetime] | None = strawberry_django.filter_field()
|
||||||
user: Annotated['UserFilter', strawberry.lazy('users.graphql.filters')] | None = strawberry_django.filter_field()
|
user: Annotated['UserFilter', strawberry.lazy('users.graphql.filters')] | None = strawberry_django.filter_field()
|
||||||
user_name: FilterLookup[str] | None = strawberry_django.filter_field()
|
user_name: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
@ -86,6 +85,6 @@ class ObjectChangeFilter(BaseObjectTypeFilterMixin):
|
|||||||
|
|
||||||
|
|
||||||
@strawberry_django.filter_type(DjangoContentType, lookups=True)
|
@strawberry_django.filter_type(DjangoContentType, lookups=True)
|
||||||
class ContentTypeFilter(BaseObjectTypeFilterMixin):
|
class ContentTypeFilter(BaseModelFilter):
|
||||||
app_label: FilterLookup[str] | None = strawberry_django.filter_field()
|
app_label: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
model: FilterLookup[str] | None = strawberry_django.filter_field()
|
model: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
|
|||||||
@ -6,7 +6,6 @@ import strawberry_django
|
|||||||
from strawberry import ID
|
from strawberry import ID
|
||||||
from strawberry_django import BaseFilterLookup, FilterLookup
|
from strawberry_django import BaseFilterLookup, FilterLookup
|
||||||
|
|
||||||
from core.graphql.filter_mixins import BaseFilter
|
|
||||||
from core.graphql.filters import ContentTypeFilter
|
from core.graphql.filters import ContentTypeFilter
|
||||||
from netbox.graphql.filter_mixins import WeightFilterMixin
|
from netbox.graphql.filter_mixins import WeightFilterMixin
|
||||||
from netbox.graphql.filters import ChangeLoggedModelFilter, NetBoxModelFilter, PrimaryModelFilter
|
from netbox.graphql.filters import ChangeLoggedModelFilter, NetBoxModelFilter, PrimaryModelFilter
|
||||||
@ -32,7 +31,7 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class ScopedFilterMixin(BaseFilter):
|
class ScopedFilterMixin:
|
||||||
scope_type: Annotated['ContentTypeFilter', strawberry.lazy('core.graphql.filters')] | None = (
|
scope_type: Annotated['ContentTypeFilter', strawberry.lazy('core.graphql.filters')] | None = (
|
||||||
strawberry_django.filter_field()
|
strawberry_django.filter_field()
|
||||||
)
|
)
|
||||||
@ -58,7 +57,7 @@ class ModularComponentModelFilter(ComponentModelFilter):
|
|||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class CabledObjectModelFilterMixin(BaseFilter):
|
class CabledObjectModelFilterMixin:
|
||||||
cable: Annotated['CableFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field()
|
cable: Annotated['CableFilter', strawberry.lazy('dcim.graphql.filters')] | None = strawberry_django.filter_field()
|
||||||
cable_id: ID | None = strawberry_django.filter_field()
|
cable_id: ID | None = strawberry_django.filter_field()
|
||||||
cable_end: (
|
cable_end: (
|
||||||
@ -86,7 +85,7 @@ class ModularComponentTemplateFilter(ComponentTemplateFilter):
|
|||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class RenderConfigFilterMixin(BaseFilter):
|
class RenderConfigFilterMixin:
|
||||||
config_template: Annotated['ConfigTemplateFilter', strawberry.lazy('extras.graphql.filters')] | None = (
|
config_template: Annotated['ConfigTemplateFilter', strawberry.lazy('extras.graphql.filters')] | None = (
|
||||||
strawberry_django.filter_field()
|
strawberry_django.filter_field()
|
||||||
)
|
)
|
||||||
@ -94,7 +93,7 @@ class RenderConfigFilterMixin(BaseFilter):
|
|||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class InterfaceBaseFilterMixin(BaseFilter):
|
class InterfaceBaseFilterMixin:
|
||||||
enabled: FilterLookup[bool] | None = strawberry_django.filter_field()
|
enabled: FilterLookup[bool] | None = strawberry_django.filter_field()
|
||||||
mtu: Annotated['IntegerLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
|
mtu: Annotated['IntegerLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
|
||||||
strawberry_django.filter_field()
|
strawberry_django.filter_field()
|
||||||
|
|||||||
@ -5,8 +5,6 @@ import strawberry
|
|||||||
import strawberry_django
|
import strawberry_django
|
||||||
from strawberry_django import FilterLookup
|
from strawberry_django import FilterLookup
|
||||||
|
|
||||||
from core.graphql.filter_mixins import BaseFilter
|
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from netbox.graphql.filter_lookups import JSONFilter
|
from netbox.graphql.filter_lookups import JSONFilter
|
||||||
from .filters import *
|
from .filters import *
|
||||||
@ -21,32 +19,32 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class CustomFieldsFilterMixin(BaseFilter):
|
class CustomFieldsFilterMixin:
|
||||||
custom_field_data: Annotated['JSONFilter', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
|
custom_field_data: Annotated['JSONFilter', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
|
||||||
strawberry_django.filter_field()
|
strawberry_django.filter_field()
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class JournalEntriesFilterMixin(BaseFilter):
|
class JournalEntriesFilterMixin:
|
||||||
journal_entries: Annotated['JournalEntryFilter', strawberry.lazy('extras.graphql.filters')] | None = (
|
journal_entries: Annotated['JournalEntryFilter', strawberry.lazy('extras.graphql.filters')] | None = (
|
||||||
strawberry_django.filter_field()
|
strawberry_django.filter_field()
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class TagsFilterMixin(BaseFilter):
|
class TagsFilterMixin:
|
||||||
tags: Annotated['TagFilter', strawberry.lazy('extras.graphql.filters')] | None = strawberry_django.filter_field()
|
tags: Annotated['TagFilter', strawberry.lazy('extras.graphql.filters')] | None = strawberry_django.filter_field()
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class ConfigContextFilterMixin(BaseFilter):
|
class ConfigContextFilterMixin:
|
||||||
local_context_data: Annotated['JSONFilter', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
|
local_context_data: Annotated['JSONFilter', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
|
||||||
strawberry_django.filter_field()
|
strawberry_django.filter_field()
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class TagBaseFilter(BaseFilter):
|
class TagBaseFilter:
|
||||||
name: FilterLookup[str] | None = strawberry_django.filter_field()
|
name: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
slug: FilterLookup[str] | None = strawberry_django.filter_field()
|
slug: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
|
|||||||
@ -5,7 +5,6 @@ import strawberry_django
|
|||||||
from strawberry.scalars import ID
|
from strawberry.scalars import ID
|
||||||
from strawberry_django import BaseFilterLookup, FilterLookup
|
from strawberry_django import BaseFilterLookup, FilterLookup
|
||||||
|
|
||||||
from core.graphql.filter_mixins import BaseObjectTypeFilterMixin
|
|
||||||
from extras import models
|
from extras import models
|
||||||
from extras.graphql.filter_mixins import TagBaseFilter, CustomFieldsFilterMixin, TagsFilterMixin
|
from extras.graphql.filter_mixins import TagBaseFilter, CustomFieldsFilterMixin, TagsFilterMixin
|
||||||
from netbox.graphql.filter_mixins import SyncedDataFilterMixin
|
from netbox.graphql.filter_mixins import SyncedDataFilterMixin
|
||||||
@ -43,7 +42,7 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
@strawberry_django.filter_type(models.ConfigContext, lookups=True)
|
@strawberry_django.filter_type(models.ConfigContext, lookups=True)
|
||||||
class ConfigContextFilter(BaseObjectTypeFilterMixin, SyncedDataFilterMixin, ChangeLoggedModelFilter):
|
class ConfigContextFilter(SyncedDataFilterMixin, ChangeLoggedModelFilter):
|
||||||
name: FilterLookup[str] | None = strawberry_django.filter_field()
|
name: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
weight: Annotated['IntegerLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
|
weight: Annotated['IntegerLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
|
||||||
strawberry_django.filter_field()
|
strawberry_django.filter_field()
|
||||||
@ -107,7 +106,7 @@ class ConfigContextProfileFilter(SyncedDataFilterMixin, PrimaryModelFilter):
|
|||||||
|
|
||||||
|
|
||||||
@strawberry_django.filter_type(models.ConfigTemplate, lookups=True)
|
@strawberry_django.filter_type(models.ConfigTemplate, lookups=True)
|
||||||
class ConfigTemplateFilter(BaseObjectTypeFilterMixin, SyncedDataFilterMixin, ChangeLoggedModelFilter):
|
class ConfigTemplateFilter(SyncedDataFilterMixin, ChangeLoggedModelFilter):
|
||||||
name: FilterLookup[str] | None = strawberry_django.filter_field()
|
name: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
description: FilterLookup[str] | None = strawberry_django.filter_field()
|
description: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
template_code: FilterLookup[str] | None = strawberry_django.filter_field()
|
template_code: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
@ -121,7 +120,7 @@ class ConfigTemplateFilter(BaseObjectTypeFilterMixin, SyncedDataFilterMixin, Cha
|
|||||||
|
|
||||||
|
|
||||||
@strawberry_django.filter_type(models.CustomField, lookups=True)
|
@strawberry_django.filter_type(models.CustomField, lookups=True)
|
||||||
class CustomFieldFilter(BaseObjectTypeFilterMixin, ChangeLoggedModelFilter):
|
class CustomFieldFilter(ChangeLoggedModelFilter):
|
||||||
type: BaseFilterLookup[Annotated['CustomFieldTypeEnum', strawberry.lazy('extras.graphql.enums')]] | None = (
|
type: BaseFilterLookup[Annotated['CustomFieldTypeEnum', strawberry.lazy('extras.graphql.enums')]] | None = (
|
||||||
strawberry_django.filter_field()
|
strawberry_django.filter_field()
|
||||||
)
|
)
|
||||||
@ -180,7 +179,7 @@ class CustomFieldFilter(BaseObjectTypeFilterMixin, ChangeLoggedModelFilter):
|
|||||||
|
|
||||||
|
|
||||||
@strawberry_django.filter_type(models.CustomFieldChoiceSet, lookups=True)
|
@strawberry_django.filter_type(models.CustomFieldChoiceSet, lookups=True)
|
||||||
class CustomFieldChoiceSetFilter(BaseObjectTypeFilterMixin, ChangeLoggedModelFilter):
|
class CustomFieldChoiceSetFilter(ChangeLoggedModelFilter):
|
||||||
name: FilterLookup[str] | None = strawberry_django.filter_field()
|
name: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
description: FilterLookup[str] | None = strawberry_django.filter_field()
|
description: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
base_choices: (
|
base_choices: (
|
||||||
@ -195,7 +194,7 @@ class CustomFieldChoiceSetFilter(BaseObjectTypeFilterMixin, ChangeLoggedModelFil
|
|||||||
|
|
||||||
|
|
||||||
@strawberry_django.filter_type(models.CustomLink, lookups=True)
|
@strawberry_django.filter_type(models.CustomLink, lookups=True)
|
||||||
class CustomLinkFilter(BaseObjectTypeFilterMixin, ChangeLoggedModelFilter):
|
class CustomLinkFilter(ChangeLoggedModelFilter):
|
||||||
name: FilterLookup[str] | None = strawberry_django.filter_field()
|
name: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
enabled: FilterLookup[bool] | None = strawberry_django.filter_field()
|
enabled: FilterLookup[bool] | None = strawberry_django.filter_field()
|
||||||
link_text: FilterLookup[str] | None = strawberry_django.filter_field()
|
link_text: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
@ -213,7 +212,7 @@ class CustomLinkFilter(BaseObjectTypeFilterMixin, ChangeLoggedModelFilter):
|
|||||||
|
|
||||||
|
|
||||||
@strawberry_django.filter_type(models.ExportTemplate, lookups=True)
|
@strawberry_django.filter_type(models.ExportTemplate, lookups=True)
|
||||||
class ExportTemplateFilter(BaseObjectTypeFilterMixin, SyncedDataFilterMixin, ChangeLoggedModelFilter):
|
class ExportTemplateFilter(SyncedDataFilterMixin, ChangeLoggedModelFilter):
|
||||||
name: FilterLookup[str] | None = strawberry_django.filter_field()
|
name: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
description: FilterLookup[str] | None = strawberry_django.filter_field()
|
description: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
template_code: FilterLookup[str] | None = strawberry_django.filter_field()
|
template_code: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
@ -227,7 +226,7 @@ class ExportTemplateFilter(BaseObjectTypeFilterMixin, SyncedDataFilterMixin, Cha
|
|||||||
|
|
||||||
|
|
||||||
@strawberry_django.filter_type(models.ImageAttachment, lookups=True)
|
@strawberry_django.filter_type(models.ImageAttachment, lookups=True)
|
||||||
class ImageAttachmentFilter(BaseObjectTypeFilterMixin, ChangeLoggedModelFilter):
|
class ImageAttachmentFilter(ChangeLoggedModelFilter):
|
||||||
object_type: Annotated['ContentTypeFilter', strawberry.lazy('core.graphql.filters')] | None = (
|
object_type: Annotated['ContentTypeFilter', strawberry.lazy('core.graphql.filters')] | None = (
|
||||||
strawberry_django.filter_field()
|
strawberry_django.filter_field()
|
||||||
)
|
)
|
||||||
@ -242,7 +241,7 @@ class ImageAttachmentFilter(BaseObjectTypeFilterMixin, ChangeLoggedModelFilter):
|
|||||||
|
|
||||||
|
|
||||||
@strawberry_django.filter_type(models.JournalEntry, lookups=True)
|
@strawberry_django.filter_type(models.JournalEntry, lookups=True)
|
||||||
class JournalEntryFilter(BaseObjectTypeFilterMixin, CustomFieldsFilterMixin, TagsFilterMixin, ChangeLoggedModelFilter):
|
class JournalEntryFilter(CustomFieldsFilterMixin, TagsFilterMixin, ChangeLoggedModelFilter):
|
||||||
assigned_object_type: Annotated['ContentTypeFilter', strawberry.lazy('core.graphql.filters')] | None = (
|
assigned_object_type: Annotated['ContentTypeFilter', strawberry.lazy('core.graphql.filters')] | None = (
|
||||||
strawberry_django.filter_field()
|
strawberry_django.filter_field()
|
||||||
)
|
)
|
||||||
@ -258,7 +257,7 @@ class JournalEntryFilter(BaseObjectTypeFilterMixin, CustomFieldsFilterMixin, Tag
|
|||||||
|
|
||||||
|
|
||||||
@strawberry_django.filter_type(models.NotificationGroup, lookups=True)
|
@strawberry_django.filter_type(models.NotificationGroup, lookups=True)
|
||||||
class NotificationGroupFilter(BaseObjectTypeFilterMixin, ChangeLoggedModelFilter):
|
class NotificationGroupFilter(ChangeLoggedModelFilter):
|
||||||
name: FilterLookup[str] | None = strawberry_django.filter_field()
|
name: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
description: FilterLookup[str] | None = strawberry_django.filter_field()
|
description: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
groups: Annotated['GroupFilter', strawberry.lazy('users.graphql.filters')] | None = strawberry_django.filter_field()
|
groups: Annotated['GroupFilter', strawberry.lazy('users.graphql.filters')] | None = strawberry_django.filter_field()
|
||||||
@ -266,7 +265,7 @@ class NotificationGroupFilter(BaseObjectTypeFilterMixin, ChangeLoggedModelFilter
|
|||||||
|
|
||||||
|
|
||||||
@strawberry_django.filter_type(models.SavedFilter, lookups=True)
|
@strawberry_django.filter_type(models.SavedFilter, lookups=True)
|
||||||
class SavedFilterFilter(BaseObjectTypeFilterMixin, ChangeLoggedModelFilter):
|
class SavedFilterFilter(ChangeLoggedModelFilter):
|
||||||
name: FilterLookup[str] | None = strawberry_django.filter_field()
|
name: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
slug: FilterLookup[str] | None = strawberry_django.filter_field()
|
slug: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
description: FilterLookup[str] | None = strawberry_django.filter_field()
|
description: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
@ -283,7 +282,7 @@ class SavedFilterFilter(BaseObjectTypeFilterMixin, ChangeLoggedModelFilter):
|
|||||||
|
|
||||||
|
|
||||||
@strawberry_django.filter_type(models.TableConfig, lookups=True)
|
@strawberry_django.filter_type(models.TableConfig, lookups=True)
|
||||||
class TableConfigFilter(BaseObjectTypeFilterMixin, ChangeLoggedModelFilter):
|
class TableConfigFilter(ChangeLoggedModelFilter):
|
||||||
name: FilterLookup[str] | None = strawberry_django.filter_field()
|
name: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
description: FilterLookup[str] | None = strawberry_django.filter_field()
|
description: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
user: Annotated['UserFilter', strawberry.lazy('users.graphql.filters')] | None = strawberry_django.filter_field()
|
user: Annotated['UserFilter', strawberry.lazy('users.graphql.filters')] | None = strawberry_django.filter_field()
|
||||||
@ -296,7 +295,7 @@ class TableConfigFilter(BaseObjectTypeFilterMixin, ChangeLoggedModelFilter):
|
|||||||
|
|
||||||
|
|
||||||
@strawberry_django.filter_type(models.Tag, lookups=True)
|
@strawberry_django.filter_type(models.Tag, lookups=True)
|
||||||
class TagFilter(BaseObjectTypeFilterMixin, ChangeLoggedModelFilter, TagBaseFilter):
|
class TagFilter(ChangeLoggedModelFilter, TagBaseFilter):
|
||||||
color: BaseFilterLookup[Annotated['ColorEnum', strawberry.lazy('netbox.graphql.enums')]] | None = (
|
color: BaseFilterLookup[Annotated['ColorEnum', strawberry.lazy('netbox.graphql.enums')]] | None = (
|
||||||
strawberry_django.filter_field()
|
strawberry_django.filter_field()
|
||||||
)
|
)
|
||||||
@ -304,7 +303,7 @@ class TagFilter(BaseObjectTypeFilterMixin, ChangeLoggedModelFilter, TagBaseFilte
|
|||||||
|
|
||||||
|
|
||||||
@strawberry_django.filter_type(models.Webhook, lookups=True)
|
@strawberry_django.filter_type(models.Webhook, lookups=True)
|
||||||
class WebhookFilter(BaseObjectTypeFilterMixin, CustomFieldsFilterMixin, TagsFilterMixin, ChangeLoggedModelFilter):
|
class WebhookFilter(CustomFieldsFilterMixin, TagsFilterMixin, ChangeLoggedModelFilter):
|
||||||
name: FilterLookup[str] | None = strawberry_django.filter_field()
|
name: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
description: FilterLookup[str] | None = strawberry_django.filter_field()
|
description: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
payload_url: FilterLookup[str] | None = strawberry_django.filter_field()
|
payload_url: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
@ -325,7 +324,7 @@ class WebhookFilter(BaseObjectTypeFilterMixin, CustomFieldsFilterMixin, TagsFilt
|
|||||||
|
|
||||||
|
|
||||||
@strawberry_django.filter_type(models.EventRule, lookups=True)
|
@strawberry_django.filter_type(models.EventRule, lookups=True)
|
||||||
class EventRuleFilter(BaseObjectTypeFilterMixin, CustomFieldsFilterMixin, TagsFilterMixin, ChangeLoggedModelFilter):
|
class EventRuleFilter(CustomFieldsFilterMixin, TagsFilterMixin, ChangeLoggedModelFilter):
|
||||||
name: FilterLookup[str] | None = strawberry_django.filter_field()
|
name: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
description: FilterLookup[str] | None = strawberry_django.filter_field()
|
description: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
event_types: Annotated['StringArrayLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
|
event_types: Annotated['StringArrayLookup', strawberry.lazy('netbox.graphql.filter_lookups')] | None = (
|
||||||
|
|||||||
@ -4,8 +4,6 @@ from typing import Annotated, TYPE_CHECKING
|
|||||||
import strawberry
|
import strawberry
|
||||||
import strawberry_django
|
import strawberry_django
|
||||||
|
|
||||||
from core.graphql.filter_mixins import BaseFilter
|
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from netbox.graphql.filter_lookups import IntegerLookup
|
from netbox.graphql.filter_lookups import IntegerLookup
|
||||||
from .enums import *
|
from .enums import *
|
||||||
@ -16,7 +14,7 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class ServiceBaseFilterMixin(BaseFilter):
|
class ServiceBaseFilterMixin:
|
||||||
protocol: Annotated['ServiceProtocolEnum', strawberry.lazy('ipam.graphql.enums')] | None = (
|
protocol: Annotated['ServiceProtocolEnum', strawberry.lazy('ipam.graphql.enums')] | None = (
|
||||||
strawberry_django.filter_field()
|
strawberry_django.filter_field()
|
||||||
)
|
)
|
||||||
|
|||||||
@ -9,7 +9,6 @@ from netaddr.core import AddrFormatError
|
|||||||
from strawberry.scalars import ID
|
from strawberry.scalars import ID
|
||||||
from strawberry_django import BaseFilterLookup, FilterLookup, DateFilterLookup
|
from strawberry_django import BaseFilterLookup, FilterLookup, DateFilterLookup
|
||||||
|
|
||||||
from core.graphql.filter_mixins import BaseObjectTypeFilterMixin
|
|
||||||
from dcim.graphql.filter_mixins import ScopedFilterMixin
|
from dcim.graphql.filter_mixins import ScopedFilterMixin
|
||||||
from dcim.models import Device
|
from dcim.models import Device
|
||||||
from ipam import models
|
from ipam import models
|
||||||
@ -131,7 +130,7 @@ class FHRPGroupFilter(PrimaryModelFilter):
|
|||||||
|
|
||||||
|
|
||||||
@strawberry_django.filter_type(models.FHRPGroupAssignment, lookups=True)
|
@strawberry_django.filter_type(models.FHRPGroupAssignment, lookups=True)
|
||||||
class FHRPGroupAssignmentFilter(BaseObjectTypeFilterMixin, ChangeLoggedModelFilter):
|
class FHRPGroupAssignmentFilter(ChangeLoggedModelFilter):
|
||||||
interface_type: Annotated['ContentTypeFilter', strawberry.lazy('core.graphql.filters')] | None = (
|
interface_type: Annotated['ContentTypeFilter', strawberry.lazy('core.graphql.filters')] | None = (
|
||||||
strawberry_django.filter_field()
|
strawberry_django.filter_field()
|
||||||
)
|
)
|
||||||
|
|||||||
@ -6,8 +6,6 @@ import strawberry
|
|||||||
import strawberry_django
|
import strawberry_django
|
||||||
from strawberry_django import BaseFilterLookup, FilterLookup, DatetimeFilterLookup
|
from strawberry_django import BaseFilterLookup, FilterLookup, DatetimeFilterLookup
|
||||||
|
|
||||||
from core.graphql.filter_mixins import BaseFilter
|
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
'DistanceFilterMixin',
|
'DistanceFilterMixin',
|
||||||
'ImageAttachmentFilterMixin',
|
'ImageAttachmentFilterMixin',
|
||||||
@ -25,14 +23,14 @@ if TYPE_CHECKING:
|
|||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class ImageAttachmentFilterMixin(BaseFilter):
|
class ImageAttachmentFilterMixin:
|
||||||
images: Annotated['ImageAttachmentFilter', strawberry.lazy('extras.graphql.filters')] | None = (
|
images: Annotated['ImageAttachmentFilter', strawberry.lazy('extras.graphql.filters')] | None = (
|
||||||
strawberry_django.filter_field()
|
strawberry_django.filter_field()
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class WeightFilterMixin(BaseFilter):
|
class WeightFilterMixin:
|
||||||
weight: FilterLookup[float] | None = strawberry_django.filter_field()
|
weight: FilterLookup[float] | None = strawberry_django.filter_field()
|
||||||
weight_unit: BaseFilterLookup[Annotated['WeightUnitEnum', strawberry.lazy('netbox.graphql.enums')]] | None = (
|
weight_unit: BaseFilterLookup[Annotated['WeightUnitEnum', strawberry.lazy('netbox.graphql.enums')]] | None = (
|
||||||
strawberry_django.filter_field()
|
strawberry_django.filter_field()
|
||||||
@ -40,7 +38,7 @@ class WeightFilterMixin(BaseFilter):
|
|||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class SyncedDataFilterMixin(BaseFilter):
|
class SyncedDataFilterMixin:
|
||||||
data_source: Annotated['DataSourceFilter', strawberry.lazy('core.graphql.filters')] | None = (
|
data_source: Annotated['DataSourceFilter', strawberry.lazy('core.graphql.filters')] | None = (
|
||||||
strawberry_django.filter_field()
|
strawberry_django.filter_field()
|
||||||
)
|
)
|
||||||
@ -55,7 +53,7 @@ class SyncedDataFilterMixin(BaseFilter):
|
|||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class DistanceFilterMixin(BaseFilter):
|
class DistanceFilterMixin:
|
||||||
distance: FilterLookup[float] | None = strawberry_django.filter_field()
|
distance: FilterLookup[float] | None = strawberry_django.filter_field()
|
||||||
distance_unit: BaseFilterLookup[Annotated['DistanceUnitEnum', strawberry.lazy('netbox.graphql.enums')]] | None = (
|
distance_unit: BaseFilterLookup[Annotated['DistanceUnitEnum', strawberry.lazy('netbox.graphql.enums')]] | None = (
|
||||||
strawberry_django.filter_field()
|
strawberry_django.filter_field()
|
||||||
|
|||||||
@ -7,13 +7,13 @@ import strawberry_django
|
|||||||
from strawberry import ID
|
from strawberry import ID
|
||||||
from strawberry_django import FilterLookup, DatetimeFilterLookup
|
from strawberry_django import FilterLookup, DatetimeFilterLookup
|
||||||
|
|
||||||
from core.graphql.filter_mixins import BaseFilter
|
|
||||||
from extras.graphql.filter_mixins import CustomFieldsFilterMixin, JournalEntriesFilterMixin, TagsFilterMixin
|
from extras.graphql.filter_mixins import CustomFieldsFilterMixin, JournalEntriesFilterMixin, TagsFilterMixin
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from .filters import *
|
from .filters import *
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
|
'BaseModelFilter',
|
||||||
'ChangeLoggedModelFilter',
|
'ChangeLoggedModelFilter',
|
||||||
'NestedGroupModelFilter',
|
'NestedGroupModelFilter',
|
||||||
'NetBoxModelFilter',
|
'NetBoxModelFilter',
|
||||||
@ -22,9 +22,12 @@ __all__ = (
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
class BaseModelFilter:
|
||||||
class ChangeLoggedModelFilter(BaseFilter):
|
|
||||||
id: FilterLookup[ID] | None = strawberry_django.filter_field()
|
id: FilterLookup[ID] | None = strawberry_django.filter_field()
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class ChangeLoggedModelFilter(BaseModelFilter):
|
||||||
# TODO: "changelog" is not a valid field name; needs to be updated for ObjectChange
|
# TODO: "changelog" is not a valid field name; needs to be updated for ObjectChange
|
||||||
changelog: Annotated['ObjectChangeFilter', strawberry.lazy('core.graphql.filters')] | None = (
|
changelog: Annotated['ObjectChangeFilter', strawberry.lazy('core.graphql.filters')] | None = (
|
||||||
strawberry_django.filter_field()
|
strawberry_django.filter_field()
|
||||||
@ -34,11 +37,10 @@ class ChangeLoggedModelFilter(BaseFilter):
|
|||||||
|
|
||||||
|
|
||||||
class NetBoxModelFilter(
|
class NetBoxModelFilter(
|
||||||
ChangeLoggedModelFilter,
|
|
||||||
CustomFieldsFilterMixin,
|
CustomFieldsFilterMixin,
|
||||||
JournalEntriesFilterMixin,
|
JournalEntriesFilterMixin,
|
||||||
TagsFilterMixin,
|
TagsFilterMixin,
|
||||||
BaseFilter,
|
ChangeLoggedModelFilter,
|
||||||
):
|
):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|||||||
@ -5,8 +5,6 @@ import strawberry
|
|||||||
import strawberry_django
|
import strawberry_django
|
||||||
from strawberry import ID
|
from strawberry import ID
|
||||||
|
|
||||||
from core.graphql.filter_mixins import BaseFilter
|
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from netbox.graphql.filter_lookups import TreeNodeFilter
|
from netbox.graphql.filter_lookups import TreeNodeFilter
|
||||||
from .filters import ContactAssignmentFilter, TenantFilter, TenantGroupFilter
|
from .filters import ContactAssignmentFilter, TenantFilter, TenantGroupFilter
|
||||||
@ -18,14 +16,14 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class ContactFilterMixin(BaseFilter):
|
class ContactFilterMixin:
|
||||||
contacts: Annotated['ContactAssignmentFilter', strawberry.lazy('tenancy.graphql.filters')] | None = (
|
contacts: Annotated['ContactAssignmentFilter', strawberry.lazy('tenancy.graphql.filters')] | None = (
|
||||||
strawberry_django.filter_field()
|
strawberry_django.filter_field()
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class TenancyFilterMixin(BaseFilter):
|
class TenancyFilterMixin:
|
||||||
tenant: Annotated['TenantFilter', strawberry.lazy('tenancy.graphql.filters')] | None = (
|
tenant: Annotated['TenantFilter', strawberry.lazy('tenancy.graphql.filters')] | None = (
|
||||||
strawberry_django.filter_field()
|
strawberry_django.filter_field()
|
||||||
)
|
)
|
||||||
|
|||||||
@ -5,7 +5,7 @@ import strawberry
|
|||||||
import strawberry_django
|
import strawberry_django
|
||||||
from strawberry_django import DatetimeFilterLookup, FilterLookup
|
from strawberry_django import DatetimeFilterLookup, FilterLookup
|
||||||
|
|
||||||
from core.graphql.filter_mixins import BaseObjectTypeFilterMixin
|
from netbox.graphql.filters import BaseModelFilter
|
||||||
from users import models
|
from users import models
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
@ -17,13 +17,13 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
@strawberry_django.filter_type(models.Group, lookups=True)
|
@strawberry_django.filter_type(models.Group, lookups=True)
|
||||||
class GroupFilter(BaseObjectTypeFilterMixin):
|
class GroupFilter(BaseModelFilter):
|
||||||
name: FilterLookup[str] | None = strawberry_django.filter_field()
|
name: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
description: FilterLookup[str] | None = strawberry_django.filter_field()
|
description: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
|
|
||||||
|
|
||||||
@strawberry_django.filter_type(models.User, lookups=True)
|
@strawberry_django.filter_type(models.User, lookups=True)
|
||||||
class UserFilter(BaseObjectTypeFilterMixin):
|
class UserFilter(BaseModelFilter):
|
||||||
username: FilterLookup[str] | None = strawberry_django.filter_field()
|
username: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
first_name: FilterLookup[str] | None = strawberry_django.filter_field()
|
first_name: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
last_name: FilterLookup[str] | None = strawberry_django.filter_field()
|
last_name: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
@ -36,7 +36,7 @@ class UserFilter(BaseObjectTypeFilterMixin):
|
|||||||
|
|
||||||
|
|
||||||
@strawberry_django.filter_type(models.Owner, lookups=True)
|
@strawberry_django.filter_type(models.Owner, lookups=True)
|
||||||
class OwnerFilter(BaseObjectTypeFilterMixin):
|
class OwnerFilter(BaseModelFilter):
|
||||||
name: FilterLookup[str] | None = strawberry_django.filter_field()
|
name: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
description: FilterLookup[str] | None = strawberry_django.filter_field()
|
description: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
group: Annotated['OwnerGroupFilter', strawberry.lazy('users.graphql.filters')] | None = (
|
group: Annotated['OwnerGroupFilter', strawberry.lazy('users.graphql.filters')] | None = (
|
||||||
@ -49,6 +49,6 @@ class OwnerFilter(BaseObjectTypeFilterMixin):
|
|||||||
|
|
||||||
|
|
||||||
@strawberry_django.filter_type(models.OwnerGroup, lookups=True)
|
@strawberry_django.filter_type(models.OwnerGroup, lookups=True)
|
||||||
class OwnerGroupFilter(BaseObjectTypeFilterMixin):
|
class OwnerGroupFilter(BaseModelFilter):
|
||||||
name: FilterLookup[str] | None = strawberry_django.filter_field()
|
name: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
description: FilterLookup[str] | None = strawberry_django.filter_field()
|
description: FilterLookup[str] | None = strawberry_django.filter_field()
|
||||||
|
|||||||
@ -5,7 +5,6 @@ import strawberry_django
|
|||||||
from strawberry.scalars import ID
|
from strawberry.scalars import ID
|
||||||
from strawberry_django import BaseFilterLookup, FilterLookup
|
from strawberry_django import BaseFilterLookup, FilterLookup
|
||||||
|
|
||||||
from core.graphql.filter_mixins import BaseObjectTypeFilterMixin
|
|
||||||
from extras.graphql.filter_mixins import CustomFieldsFilterMixin, TagsFilterMixin
|
from extras.graphql.filter_mixins import CustomFieldsFilterMixin, TagsFilterMixin
|
||||||
from netbox.graphql.filters import (
|
from netbox.graphql.filters import (
|
||||||
ChangeLoggedModelFilter, NetBoxModelFilter, OrganizationalModelFilter, PrimaryModelFilter,
|
ChangeLoggedModelFilter, NetBoxModelFilter, OrganizationalModelFilter, PrimaryModelFilter,
|
||||||
@ -39,9 +38,7 @@ class TunnelGroupFilter(OrganizationalModelFilter):
|
|||||||
|
|
||||||
|
|
||||||
@strawberry_django.filter_type(models.TunnelTermination, lookups=True)
|
@strawberry_django.filter_type(models.TunnelTermination, lookups=True)
|
||||||
class TunnelTerminationFilter(
|
class TunnelTerminationFilter(CustomFieldsFilterMixin, TagsFilterMixin, ChangeLoggedModelFilter):
|
||||||
BaseObjectTypeFilterMixin, CustomFieldsFilterMixin, TagsFilterMixin, ChangeLoggedModelFilter
|
|
||||||
):
|
|
||||||
tunnel: Annotated['TunnelFilter', strawberry.lazy('vpn.graphql.filters')] | None = strawberry_django.filter_field()
|
tunnel: Annotated['TunnelFilter', strawberry.lazy('vpn.graphql.filters')] | None = strawberry_django.filter_field()
|
||||||
tunnel_id: ID | None = strawberry_django.filter_field()
|
tunnel_id: ID | None = strawberry_django.filter_field()
|
||||||
role: BaseFilterLookup[Annotated['TunnelTerminationRoleEnum', strawberry.lazy('vpn.graphql.enums')]] | None = (
|
role: BaseFilterLookup[Annotated['TunnelTerminationRoleEnum', strawberry.lazy('vpn.graphql.enums')]] | None = (
|
||||||
|
|||||||
@ -5,8 +5,6 @@ import strawberry
|
|||||||
import strawberry_django
|
import strawberry_django
|
||||||
from strawberry_django import FilterLookup
|
from strawberry_django import FilterLookup
|
||||||
|
|
||||||
from core.graphql.filter_mixins import BaseFilter
|
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from .enums import *
|
from .enums import *
|
||||||
|
|
||||||
@ -16,7 +14,7 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class WirelessAuthenticationBaseFilterMixin(BaseFilter):
|
class WirelessAuthenticationBaseFilterMixin:
|
||||||
auth_type: Annotated['WirelessAuthTypeEnum', strawberry.lazy('wireless.graphql.enums')] | None = (
|
auth_type: Annotated['WirelessAuthTypeEnum', strawberry.lazy('wireless.graphql.enums')] | None = (
|
||||||
strawberry_django.filter_field()
|
strawberry_django.filter_field()
|
||||||
)
|
)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user