Coverage for extras/graphql/filter_mixins.py: 86%

20 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 

3 

4import strawberry 

5import strawberry_django 

6 

7if TYPE_CHECKING: 7 ↛ 8line 7 didn't jump to line 8 because the condition on line 7 was never true

8 from netbox.graphql.filter_lookups import JSONFilter 

9 

10 from .filters import * 

11 

12__all__ = ( 

13 'ConfigContextFilterMixin', 

14 'CustomFieldsFilterMixin', 

15 'JournalEntriesFilterMixin', 

16 'TagsFilterMixin', 

17) 

18 

19 

20@dataclass 

21class CustomFieldsFilterMixin: 

22 custom_field_data: Annotated['JSONFilter', strawberry.lazy('netbox.graphql.filter_lookups')] | None = ( 

23 strawberry_django.filter_field() 

24 ) 

25 

26 

27@dataclass 

28class JournalEntriesFilterMixin: 

29 journal_entries: Annotated['JournalEntryFilter', strawberry.lazy('extras.graphql.filters')] | None = ( 

30 strawberry_django.filter_field() 

31 ) 

32 

33 

34@dataclass 

35class TagsFilterMixin: 

36 tags: Annotated['TagFilter', strawberry.lazy('extras.graphql.filters')] | None = strawberry_django.filter_field() 

37 

38 

39@dataclass 

40class ConfigContextFilterMixin: 

41 local_context_data: Annotated['JSONFilter', strawberry.lazy('netbox.graphql.filter_lookups')] | None = ( 

42 strawberry_django.filter_field() 

43 )