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

1from dataclasses import dataclass 

2from typing import TYPE_CHECKING, Annotated, TypeVar 

3 

4import strawberry 

5import strawberry_django 

6from strawberry_django import BaseFilterLookup, DatetimeFilterLookup, FilterLookup, StrFilterLookup 

7 

8__all__ = ( 

9 'DistanceFilterMixin', 

10 'ImageAttachmentFilterMixin', 

11 'SyncedDataFilterMixin', 

12 'WeightFilterMixin', 

13) 

14 

15T = TypeVar('T') 

16 

17 

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 * 

21 

22 from .enums import * 

23 

24 

25@dataclass 

26class ImageAttachmentFilterMixin: 

27 images: Annotated['ImageAttachmentFilter', strawberry.lazy('extras.graphql.filters')] | None = ( 

28 strawberry_django.filter_field() 

29 ) 

30 

31 

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 ) 

38 

39 

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() 

53 

54 

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 )