Coverage for core/graphql/types.py: 100%

17 statements  

« prev     ^ index     » next       coverage.py v7.15.2, created at 2026-10-10 18:35 +0000

1from typing import Annotated 

2 

3import strawberry 

4from django.contrib.contenttypes.models import ContentType as DjangoContentType 

5 

6from core import models 

7from netbox.graphql.types import BaseObjectType, PrimaryObjectType, register_type 

8 

9from .filters import * 

10 

11__all__ = ( 

12 'ContentType', 

13 'DataFileType', 

14 'DataSourceType', 

15 'ObjectChangeType', 

16) 

17 

18 

19@register_type( 

20 models.DataFile, 

21 exclude=['data',], 

22 filters=DataFileFilter, 

23 pagination=True 

24) 

25class DataFileType(BaseObjectType): 

26 source: Annotated["DataSourceType", strawberry.lazy('core.graphql.types')] 

27 

28 

29@register_type( 

30 models.DataSource, 

31 fields='__all__', 

32 filters=DataSourceFilter, 

33 pagination=True 

34) 

35class DataSourceType(PrimaryObjectType): 

36 datafiles: list[Annotated["DataFileType", strawberry.lazy('core.graphql.types')]] 

37 

38 

39@register_type( 

40 models.ObjectChange, 

41 fields='__all__', 

42 filters=ObjectChangeFilter, 

43 pagination=True 

44) 

45class ObjectChangeType(BaseObjectType): 

46 pass 

47 

48 

49@register_type( 

50 DjangoContentType, 

51 fields='__all__', 

52 pagination=True 

53) 

54class ContentType: 

55 pass