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
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-10 18:35 +0000
1from typing import Annotated
3import strawberry
4from django.contrib.contenttypes.models import ContentType as DjangoContentType
6from core import models
7from netbox.graphql.types import BaseObjectType, PrimaryObjectType, register_type
9from .filters import *
11__all__ = (
12 'ContentType',
13 'DataFileType',
14 'DataSourceType',
15 'ObjectChangeType',
16)
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')]
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')]]
39@register_type(
40 models.ObjectChange,
41 fields='__all__',
42 filters=ObjectChangeFilter,
43 pagination=True
44)
45class ObjectChangeType(BaseObjectType):
46 pass
49@register_type(
50 DjangoContentType,
51 fields='__all__',
52 pagination=True
53)
54class ContentType:
55 pass