Coverage for netbox/graphql/filter_mixins.py: 88%
31 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-10 18:35 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-10 18:35 +0000
1from dataclasses import dataclass
2from typing import TYPE_CHECKING, Annotated, TypeVar
4import strawberry
5import strawberry_django
6from strawberry_django import BaseFilterLookup, DatetimeFilterLookup, FilterLookup, StrFilterLookup
8__all__ = (
9 'DistanceFilterMixin',
10 'ImageAttachmentFilterMixin',
11 'SyncedDataFilterMixin',
12 'WeightFilterMixin',
13)
15T = TypeVar('T')
18if TYPE_CHECKING: 18 ↛ 19line 18 didn't jump to line 19 because the condition on line 18 was never true
19 from core.graphql.filters import *
20 from extras.graphql.filters import *
22 from .enums import *
25@dataclass
26class ImageAttachmentFilterMixin:
27 images: Annotated['ImageAttachmentFilter', strawberry.lazy('extras.graphql.filters')] | None = (
28 strawberry_django.filter_field()
29 )
32@dataclass
33class WeightFilterMixin:
34 weight: FilterLookup[float] | None = strawberry_django.filter_field()
35 weight_unit: BaseFilterLookup[Annotated['WeightUnitEnum', strawberry.lazy('netbox.graphql.enums')]] | None = (
36 strawberry_django.filter_field()
37 )
40@dataclass
41class SyncedDataFilterMixin:
42 data_source: Annotated['DataSourceFilter', strawberry.lazy('core.graphql.filters')] | None = (
43 strawberry_django.filter_field()
44 )
45 data_source_id: FilterLookup[int] | None = strawberry_django.filter_field()
46 data_file: Annotated['DataFileFilter', strawberry.lazy('core.graphql.filters')] | None = (
47 strawberry_django.filter_field()
48 )
49 data_file_id: FilterLookup[int] | None = strawberry_django.filter_field()
50 data_path: StrFilterLookup | None = strawberry_django.filter_field()
51 auto_sync_enabled: FilterLookup[bool] | None = strawberry_django.filter_field()
52 data_synced: DatetimeFilterLookup | None = strawberry_django.filter_field()
55@dataclass
56class DistanceFilterMixin:
57 distance: FilterLookup[float] | None = strawberry_django.filter_field()
58 distance_unit: BaseFilterLookup[Annotated['DistanceUnitEnum', strawberry.lazy('netbox.graphql.enums')]] | None = (
59 strawberry_django.filter_field()
60 )